diff --git a/files/sample-pom-modified.xml b/files/sample-pom-modified.xml
deleted file mode 100644
index c72c270..0000000
--- a/files/sample-pom-modified.xml
+++ /dev/null
@@ -1,136 +0,0 @@
-
- 4.0.0
- org.springframework.data.build
- spring-data-release-cli
- 5.0
-
-
- org.springframework.boot
- spring-boot-starter-parent
- 1.0.0.RC4
-
-
-
- org.springframework.shell.Bootstrap
-
-
-
-
-
- org.springframework.boot
- spring-boot-starter-logging
-
-
-
- org.springframework
- spring-web
-
-
-
- com.fasterxml.jackson.core
- jackson-databind
-
-
-
- joda-time
- joda-time
-
-
-
- org.springframework.shell
- spring-shell
- 1.1.0.BUILD-SNAPSHOT
-
-
-
- org.xmlbeam
- xmlprojector
- 1.1.0
-
-
-
- org.projectlombok
- lombok
- 1.12.4
- provided
-
-
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
- 1.7
- 1.7
-
-
-
-
-
-
-
- org.codehaus.mojo
- appassembler-maven-plugin
- 1.7
-
-
-
- org.springframework.shell.Bootstrap
- spring-data-release-shell
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- spring-libs-snapshot
- http://repo.spring.io/libs-snapshot
-
-
-
-
diff --git a/infrastructure.properties b/infrastructure.properties
index c6ec028..a7e3583 100644
--- a/infrastructure.properties
+++ b/infrastructure.properties
@@ -1,3 +1,3 @@
io.workDir=~/temp/spring-data-shell
-git.author=Oliver Gierke
\ No newline at end of file
+git.author=Oliver Gierke
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 1fd91bc..3fb4f22 100644
--- a/pom.xml
+++ b/pom.xml
@@ -8,10 +8,11 @@
org.springframework.boot
spring-boot-starter-parent
- 1.0.2.RELEASE
+ 1.2.4.RELEASE
+ 1.8
org.springframework.shell.Bootstrap
@@ -26,7 +27,7 @@
org.springframework
spring-web
-
+
com.fasterxml.jackson.core
jackson-databind
@@ -42,30 +43,29 @@
spring-shell
1.1.0.BUILD-SNAPSHOT
-
+
org.xmlbeam
xmlprojector
- 1.1.4
+ 1.4.7
-
+
org.apache.commons
commons-exec
- 1.2
+ 1.3
org.projectlombok
lombok
- 1.12.4
+ 1.16.4
provided
-
+
org.springframework.plugin
spring-plugin-core
- 1.0.0.RELEASE
@@ -77,18 +77,8 @@
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
- 1.7
- 1.7
-
-
-
-
org.codehaus.mojo
appassembler-maven-plugin
diff --git a/src/main/java/org/springframework/data/release/git/GitOperations.java b/src/main/java/org/springframework/data/release/git/GitOperations.java
index 55f7fb7..d67a9bf 100644
--- a/src/main/java/org/springframework/data/release/git/GitOperations.java
+++ b/src/main/java/org/springframework/data/release/git/GitOperations.java
@@ -15,14 +15,14 @@
*/
package org.springframework.data.release.git;
+import lombok.RequiredArgsConstructor;
+
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Future;
-import lombok.RequiredArgsConstructor;
-
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.data.release.io.CommandResult;
@@ -37,6 +37,7 @@ import org.springframework.data.release.model.ModuleIteration;
import org.springframework.data.release.model.Project;
import org.springframework.data.release.model.Train;
import org.springframework.data.release.model.TrainIteration;
+import org.springframework.data.release.utils.CommandUtils;
import org.springframework.data.release.utils.Logger;
import org.springframework.plugin.core.PluginRegistry;
import org.springframework.stereotype.Component;
@@ -49,7 +50,7 @@ import org.springframework.util.StringUtils;
* @author Oliver Gierke
*/
@Component
-@RequiredArgsConstructor(onConstructor = @__(@Autowired))
+@RequiredArgsConstructor(onConstructor = @__(@Autowired) )
public class GitOperations {
private final GitServer server = new GitServer();
@@ -77,7 +78,8 @@ public class GitOperations {
Branch branch = Branch.from(module);
- os.executeCommand(String.format("git reset --hard origin/%s", branch), module.getProject()).get();
+ CommandUtils.getCommandResult(
+ os.executeCommand(String.format("git reset --hard origin/%s", branch), module.getProject()));
}
}
@@ -100,11 +102,11 @@ public class GitOperations {
Tag tag = findTagFor(project, artifactVersion);
if (tag == null) {
- throw new IllegalStateException(String.format("No tag found for version %s of project %s, aborting.",
- artifactVersion, project));
+ throw new IllegalStateException(
+ String.format("No tag found for version %s of project %s, aborting.", artifactVersion, project));
}
- os.executeCommand(String.format("git checkout %s", tag), project).get();
+ CommandUtils.getCommandResult(os.executeCommand(String.format("git checkout %s", tag), project));
}
logger.log(iteration, "Successfully checked out projects.");
@@ -116,10 +118,10 @@ public class GitOperations {
Branch branch = Branch.from(module);
- update(module.getProject()).get();
+ CommandUtils.getCommandResult(update(module.getProject()));
String checkoutCommand = String.format("git checkout %s && git pull origin %s", branch, branch);
- os.executeCommand(checkoutCommand, module.getProject()).get();
+ CommandUtils.getCommandResult(os.executeCommand(checkoutCommand, module.getProject()));
}
}
@@ -132,7 +134,7 @@ public class GitOperations {
}
for (Future execution : executions) {
- execution.get();
+ CommandUtils.getCommandResult(execution);
}
}
@@ -141,14 +143,15 @@ public class GitOperations {
for (ModuleIteration module : iteration) {
Branch branch = Branch.from(module);
- os.executeCommand(String.format("git push origin %s", branch), module.getProject()).get();
+ CommandUtils
+ .getCommandResult(os.executeCommand(String.format("git push origin %s", branch), module.getProject()));
}
}
public void pushTags(Train train) throws Exception {
for (Module module : train) {
- os.executeCommand("git push --tags", module.getProject()).get();
+ CommandUtils.getCommandResult(os.executeCommand("git push --tags", module.getProject()));
}
}
@@ -198,15 +201,15 @@ public class GitOperations {
Project project = module.getProject();
String checkoutCommand = String.format("git checkout %s", branch);
- os.executeCommand(checkoutCommand, project).get();
+ CommandUtils.getCommandResult(os.executeCommand(checkoutCommand, project));
String updateCommand = String.format("git pull origin %s", branch);
- os.executeCommand(updateCommand, project).get();
+ CommandUtils.getCommandResult(os.executeCommand(updateCommand, project));
String hash = getReleaseHash(module);
Tag tag = getTags(project).createTag(module);
String tagCommand = String.format("git tag %s %s", tag, hash);
- os.executeCommand(tagCommand, project).get();
+ CommandUtils.getCommandResult(os.executeCommand(tagCommand, project));
}
}
@@ -263,9 +266,9 @@ public class GitOperations {
os.executeCommand(String.format("git add %s", file.getAbsolutePath()), project).get();
}
- os.executeCommand(commitCommand, project).get();
+ CommandUtils.getCommandResult(os.executeCommand(commitCommand, project));
} else {
- os.executeCommand(commitCommand.concat(" -a"), project).get();
+ CommandUtils.getCommandResult(os.executeCommand(commitCommand.concat(" -a"), project));
}
}
@@ -288,8 +291,8 @@ public class GitOperations {
}
}
- throw new IllegalStateException(String.format("Did not find a release commit for project %s (ticket id %s)",
- project, releaseTicket.getId()));
+ throw new IllegalStateException(
+ String.format("Did not find a release commit for project %s (ticket id %s)", project, releaseTicket.getId()));
}
/**
diff --git a/src/main/java/org/springframework/data/release/maven/ParentPom.java b/src/main/java/org/springframework/data/release/maven/ParentPom.java
index 9704594..c632da6 100644
--- a/src/main/java/org/springframework/data/release/maven/ParentPom.java
+++ b/src/main/java/org/springframework/data/release/maven/ParentPom.java
@@ -24,6 +24,6 @@ import org.xmlbeam.annotation.XBWrite;
*/
public interface ParentPom extends Pom {
- @XBWrite("/project/profiles/profile[id=''distribute'']/dependencies/dependency/version")
+ @XBWrite("/project/profiles/profile[id=\"distribute\"]/dependencies/dependency/version")
void setSharedResourcesVersion(@XBValue ArtifactVersion value);
}
diff --git a/src/main/java/org/springframework/data/release/maven/Pom.java b/src/main/java/org/springframework/data/release/maven/Pom.java
index f48b8d5..2bb3a55 100644
--- a/src/main/java/org/springframework/data/release/maven/Pom.java
+++ b/src/main/java/org/springframework/data/release/maven/Pom.java
@@ -43,10 +43,10 @@ public interface Pom {
@XBWrite("/project/properties/{0}")
void setProperty(String property, @XBValue ArtifactVersion value);
- @XBWrite("/project/repositories/repository[id=''{0}'']/id")
+ @XBWrite("/project/repositories/repository[id=\"{0}\"]/id")
void setRepositoryId(String oldId, @XBValue String newId);
- @XBWrite("/project/repositories/repository[id=''{0}'']/url")
+ @XBWrite("/project/repositories/repository[id=\"{0}\"]/url")
void setRepositoryUrl(String id, @XBValue String url);
/**
diff --git a/src/main/java/org/springframework/data/release/utils/CommandUtils.java b/src/main/java/org/springframework/data/release/utils/CommandUtils.java
new file mode 100644
index 0000000..2aae3b0
--- /dev/null
+++ b/src/main/java/org/springframework/data/release/utils/CommandUtils.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2015 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.springframework.data.release.utils;
+
+import java.util.concurrent.Future;
+
+import org.springframework.data.release.io.CommandResult;
+
+/**
+ * @author Oliver Gierke
+ */
+public class CommandUtils {
+
+ public static CommandResult getCommandResult(Future future) throws Exception {
+
+ CommandResult result = future.get();
+
+ if (result.hasError()) {
+ throw new CommandException(result);
+ }
+
+ return result;
+ }
+
+ public static class CommandException extends RuntimeException {
+
+ private final CommandResult result;
+
+ public CommandException(CommandResult result) {
+
+ super(result.getException());
+ this.result = result;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see java.lang.Throwable#getMessage()
+ */
+ @Override
+ public String getMessage() {
+ return String.format("Command execution failed: %s.", result);
+ }
+ }
+}
diff --git a/src/test/java/org/springframework/data/release/cli/ReleaseCommandsIntegrationTests.java b/src/test/java/org/springframework/data/release/cli/ReleaseCommandsIntegrationTests.java
index 9d0b696..dc41076 100644
--- a/src/test/java/org/springframework/data/release/cli/ReleaseCommandsIntegrationTests.java
+++ b/src/test/java/org/springframework/data/release/cli/ReleaseCommandsIntegrationTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014 the original author or authors.
+ * Copyright 2014-2015 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,7 +18,6 @@ package org.springframework.data.release.cli;
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;
-import org.junit.Ignore;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.release.AbstractIntegrationTests;
@@ -34,8 +33,7 @@ public class ReleaseCommandsIntegrationTests extends AbstractIntegrationTests {
@Autowired GitOperations git;
@Test
- @Ignore
- public void predictsReleasTrainCorrectly() throws Exception {
+ public void predictsReleaseTrainCorrectly() throws Exception {
git.update(ReleaseTrains.DIJKSTRA);
diff --git a/src/test/java/org/springframework/data/release/io/CommonsExecOsCommandOperationsIntegegrationTests.java b/src/test/java/org/springframework/data/release/io/CommonsExecOsCommandOperationsIntegegrationTests.java
new file mode 100644
index 0000000..2a46e37
--- /dev/null
+++ b/src/test/java/org/springframework/data/release/io/CommonsExecOsCommandOperationsIntegegrationTests.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2015 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.springframework.data.release.io;
+
+import static org.hamcrest.CoreMatchers.*;
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.release.AbstractIntegrationTests;
+
+/**
+ * @author Oliver Gierke
+ */
+public class CommonsExecOsCommandOperationsIntegegrationTests extends AbstractIntegrationTests {
+
+ @Autowired OsCommandOperations operations;
+
+ @Test
+ public void testname() throws Exception {
+
+ CommandResult result = operations
+ .executeCommand("git clone --progress https://github.com/spring-projects/spring-data-build").get();
+
+ if (result.hasError()) {
+ System.out.println(result.getStatus());
+ System.out.println(result.getException().getMessage());
+ } else {
+ System.out.println(result.getOutput());
+ }
+
+ assertThat(result.hasError(), is(false));
+
+ }
+}
diff --git a/src/test/java/org/springframework/data/release/maven/MavenIntegrationTests.java b/src/test/java/org/springframework/data/release/maven/MavenIntegrationTests.java
new file mode 100644
index 0000000..98df45e
--- /dev/null
+++ b/src/test/java/org/springframework/data/release/maven/MavenIntegrationTests.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2014-2015 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.springframework.data.release.maven;
+
+import java.io.IOException;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.io.ClassPathResource;
+import org.springframework.data.release.AbstractIntegrationTests;
+import org.springframework.data.release.io.Workspace;
+import org.springframework.data.release.model.ArtifactVersion;
+import org.xmlbeam.ProjectionFactory;
+import org.xmlbeam.io.XBFileIO;
+
+/**
+ * @author Oliver Gierke
+ */
+public class MavenIntegrationTests extends AbstractIntegrationTests {
+
+ @Autowired Workspace workspace;
+ @Autowired ProjectionFactory projection;
+
+ public @Rule TemporaryFolder folder = new TemporaryFolder();
+
+ @Test
+ public void modifiesParentPomCorrectly() throws IOException {
+
+ XBFileIO io = projection.io().file(new ClassPathResource("parent-pom.xml").getFile());
+
+ ParentPom pom = io.read(ParentPom.class);
+ pom.setSharedResourcesVersion(ArtifactVersion.parse("1.2.0.RELEASE"));
+
+ // System.out.println(projection.asString(pom));
+ }
+
+ @Test
+ public void updatesRepositoriesCorrectly() throws Exception {
+
+ XBFileIO io = projection.io().file(new ClassPathResource("sample-pom.xml").getFile());
+
+ Pom pom = io.read(Pom.class);
+
+ pom.setRepositoryId("spring-libs-snapshot", "spring-libs-release");
+ pom.setRepositoryUrl("spring-libs-release", "https://repo.spring.io/libs-release");
+
+ // System.out.println(projection.asString(pom));
+ }
+}
diff --git a/src/test/resources/parent-pom.xml b/src/test/resources/parent-pom.xml
new file mode 100644
index 0000000..ee13def
--- /dev/null
+++ b/src/test/resources/parent-pom.xml
@@ -0,0 +1,745 @@
+
+
+
+
+
+ 4.0.0
+
+ spring-data-parent
+ pom
+
+
+ org.springframework.data.build
+ spring-data-build
+ 1.6.2.BUILD-SNAPSHOT
+ ../pom.xml
+
+
+ Spring Data Build - General parent module
+ Global parent pom.xml to be used by Spring Data modules
+ http://www.spring.io/spring-data
+ 2011-2015
+
+
+ Pivotal Software, Inc.
+ http://www.spring.io
+
+
+
+
+ ogierke
+ Oliver Gierke
+ ogierke at pivotal.io
+ Pivotal Software, Inc.
+ http://www.spring.io
+
+ Project lead
+
+ +1
+
+
+
+
+
+ Apache License, Version 2.0
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Copyright 2008-2013 the original author or authors.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+
+
+
+
+ true
+ true
+ UTF-8
+ ${basedir}
+ 1.6
+ ${project.artifactId}
+
+ 1.1.3
+ 1.8.5
+ 1.0
+ 1.3
+ 2.5.1
+ 2.7
+ 4.12
+ 1.1.2
+ 1.10.19
+ 3.6.3
+ 1.7.10
+ 4.0.9.RELEASE
+ 1.2
+ 1.2.7
+
+ Fowler-BUILD-SNAPSHOT
+
+
+
+
+
+
+
+
+
+ ci
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+
+
+ package-javadoc
+
+ jar
+
+ package
+
+
+
+
+
+
+
+
+
+
+
+
+
+ distribute
+
+
+ ${project.build.directory}/shared-resources
+ true
+ true
+
+
+
+
+ org.springframework.data.build
+ spring-data-build-resources
+ 1.6.2.BUILD-SNAPSHOT
+ provided
+ zip
+
+
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ unpack-shared-resources
+
+ unpack-dependencies
+
+ generate-resources
+
+
+
+ ${project.groupId}
+ spring-data-build-resources
+ zip
+ true
+ ${shared.resources}
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+
+
+ aggregate-javadoc
+
+ aggregate
+
+ package
+
+
+
+
+
+
+
+ maven-antrun-plugin
+ 1.7
+
+
+
+ copy-documentation-resources
+ generate-resources
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ run
+
+
+
+
+ collect-schema-files
+ process-resources
+
+
+
+
+
+
+
+
+
+
+
+ run
+
+
+
+
+ rename-reference-docs
+ process-resources
+
+
+
+
+
+
+
+ run
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ org.asciidoctor
+ asciidoctor-maven-plugin
+ 1.5.2
+
+
+ org.asciidoctor
+ asciidoctorj-pdf
+ 1.5.0-alpha.6
+
+
+ org.asciidoctor
+ asciidoctorj-epub3
+ 1.5.0-alpha.4
+
+
+
+
+
+ html
+ generate-resources
+
+ process-asciidoc
+
+
+ html5
+ ${project.root}/target/site/reference/html
+ false
+ prettify
+
+ true
+ font
+ true
+ spring.css
+
+
+
+
+
+ epub
+ generate-resources
+
+ process-asciidoc
+
+
+ epub3
+ coderay
+
+
+
+
+ pdf
+ generate-resources
+
+ process-asciidoc
+
+
+ pdf
+ coderay
+
+
+
+
+
+
+ ${project.root}/src/main/asciidoc
+ index.adoc
+ book
+
+ ${project.version}
+ ${project.name}
+ ${project.version}
+ ${aspectj}
+ ${querydsl}
+ ${spring}
+ ${releasetrain}
+ true
+ 3
+ true
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ 2.4
+
+
+ static
+
+ single
+
+ package
+
+
+ ${shared.resources}/assemblies/static-resources.xml
+
+ static-resources
+ false
+
+
+
+
+
+
+ org.codehaus.mojo
+ wagon-maven-plugin
+ 1.0-beta-5
+
+ ${project.build.directory}
+
+
+
+
+
+
+ upload-schema
+ deploy
+
+ upload
+
+
+ ${project.root}/target/schemas
+ *.xsd,.autoschemaln
+ static-dot-s2
+ scp://static.springsource.org
+ /var/www/domains/springsource.org/www/htdocs/autorepo/schema/${dist.id}/${project.version}
+ true
+
+
+
+
+
+
+ upload-static-resources
+ deploy
+
+ upload
+
+
+ ${project.build.directory}/static-resources
+ **
+ static-dot-s2
+ scp://static.springsource.org
+ /var/www/domains/springsource.org/www/htdocs/autorepo/docs/${dist.id}/${project.version}
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+ spring41
+
+
+ 4.1.6.RELEASE
+
+
+
+
+
+
+ spring41-next
+
+
+ 4.1.7.BUILD-SNAPSHOT
+
+
+
+
+ spring-libs-snapshot
+ http://repo.spring.io/libs-snapshot
+
+
+
+
+
+
+
+ spring42-next
+
+
+ 4.2.0.BUILD-SNAPSHOT
+
+
+
+
+ spring-libs-snapshot
+ http://repo.spring.io/libs-snapshot
+
+
+
+
+
+
+ querydsl-next
+
+ 3.6.2.BUILD-SNAPSHOT
+
+
+
+ oss-nexus-snapshots
+ http://oss.sonatype.org/content/repositories/snapshots
+
+
+
+
+
+
+
+
+
+ org.springframework
+ spring-framework-bom
+ ${spring}
+ pom
+ import
+
+
+
+
+
+
+
+
+ org.hamcrest
+ hamcrest-library
+ ${hamcrest}
+ test
+
+
+
+ org.hamcrest
+ hamcrest-core
+ ${hamcrest}
+ test
+
+
+
+ junit
+ junit
+ ${junit}
+ test
+
+
+
+ org.mockito
+ mockito-core
+ ${mockito}
+ test
+
+
+
+ org.springframework
+ spring-test
+ test
+
+
+
+
+ org.slf4j
+ slf4j-api
+ ${slf4j}
+
+
+
+ org.slf4j
+ jcl-over-slf4j
+ ${slf4j}
+ runtime
+
+
+
+ ch.qos.logback
+ logback-classic
+ ${logback}
+ test
+
+
+
+
+
+
+
+
+ org.apache.maven.wagon
+ wagon-ssh
+ 2.5
+
+
+
+
+
+
+
+
+
+
+ org.codehaus.mojo
+ wagon-maven-plugin
+ 1.0-beta-5
+
+
+
+ org.asciidoctor
+ asciidoctor-maven-plugin
+ 0.1.4
+
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+ 2.8
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.1
+
+ ${source.level}
+ ${source.level}
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 2.17
+
+ false
+
+ **/*Tests.java
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 2.4
+
+ true
+
+
+
+
+ maven-source-plugin
+ 2.2.1
+
+
+ attach-sources
+
+ jar
+
+
+
+
+
+
+ com.springsource.bundlor
+ com.springsource.bundlor.maven
+ 1.0.0.RELEASE
+
+ ${bundlor.enabled}
+ ${bundlor.failOnWarnings}
+
+
+
+ bundlor
+
+ bundlor
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 2.9.1
+
+ true
+
+ ${source.level}
+ true
+ ${shared.resources}/javadoc
+ ${shared.resources}/javadoc/overview.html
+ ${shared.resources}/javadoc/spring-javadoc.css
+
+ true
+ -Xdoclint:none
+
+ http://docs.spring.io/spring/docs/3.2.x/javadoc-api/
+ http://docs.spring.io/spring-data/data-commons/docs/current/api/
+ http://docs.oracle.com/javase/6/docs/api
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-deploy-plugin
+ 2.8.1
+
+ true
+
+
+
+
+
+
+
+
+ spring-libs-release
+ https://repo.spring.io/libs-release
+
+ false
+
+
+
+
+
+
+ spring-plugins-release
+ https://repo.spring.io/plugins-release
+
+
+
+
diff --git a/files/sample-pom.xml b/src/test/resources/sample-pom.xml
similarity index 62%
rename from files/sample-pom.xml
rename to src/test/resources/sample-pom.xml
index 4156fd6..d51e1eb 100644
--- a/files/sample-pom.xml
+++ b/src/test/resources/sample-pom.xml
@@ -14,6 +14,18 @@
org.springframework.shell.Bootstrap
+
+
+
+ profile
+
+
+ spring-libs-snapshot
+ http://repo.spring.io/libs-snapshot
+
+
+
+
@@ -87,43 +99,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-