diff options
-rw-r--r-- | bundle-plugin/pom.xml | 13 | ||||
-rw-r--r-- | bundle-plugin/src/main/scala/com/yahoo/container/plugin/mojo/AssembleContainerPluginMojo.scala | 35 | ||||
-rwxr-xr-x | docker/vespa-ci-internal.sh | 2 | ||||
-rwxr-xr-x | docker/vespa-ci.sh | 2 | ||||
-rw-r--r-- | pom.xml | 17 |
5 files changed, 32 insertions, 37 deletions
diff --git a/bundle-plugin/pom.xml b/bundle-plugin/pom.xml index 4c39d32131a..839551f5b07 100644 --- a/bundle-plugin/pom.xml +++ b/bundle-plugin/pom.xml @@ -24,6 +24,11 @@ </dependency> <dependency> <groupId>org.apache.maven</groupId> + <artifactId>maven-archiver</artifactId> + <version>3.1.1</version> + </dependency> + <dependency> + <groupId>org.apache.maven</groupId> <artifactId>maven-model</artifactId> </dependency> <dependency> @@ -36,10 +41,6 @@ <scope>provided</scope> </dependency> <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-project</artifactId> - </dependency> - <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> @@ -71,10 +72,6 @@ <artifactId>asm</artifactId> </dependency> <dependency> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - </dependency> - <dependency> <groupId>org.twdata.maven</groupId> <artifactId>mojo-executor</artifactId> </dependency> diff --git a/bundle-plugin/src/main/scala/com/yahoo/container/plugin/mojo/AssembleContainerPluginMojo.scala b/bundle-plugin/src/main/scala/com/yahoo/container/plugin/mojo/AssembleContainerPluginMojo.scala index 15c2a2ed35a..795a0eaf86e 100644 --- a/bundle-plugin/src/main/scala/com/yahoo/container/plugin/mojo/AssembleContainerPluginMojo.scala +++ b/bundle-plugin/src/main/scala/com/yahoo/container/plugin/mojo/AssembleContainerPluginMojo.scala @@ -8,10 +8,10 @@ import java.util.zip.ZipEntry import com.yahoo.container.plugin.util.{Files, JarFiles} import org.apache.maven.archiver.{MavenArchiveConfiguration, MavenArchiver} +import org.apache.maven.execution.MavenSession import org.apache.maven.plugin.AbstractMojo -import org.apache.maven.plugins.annotations.{Component, Mojo, Parameter, ResolutionScope} +import org.apache.maven.plugins.annotations.{Mojo, Parameter, ResolutionScope} import org.apache.maven.project.MavenProject -import org.codehaus.plexus.archiver.Archiver import org.codehaus.plexus.archiver.jar.JarArchiver import scala.collection.convert.wrapAsScala._ @@ -27,8 +27,8 @@ class AssembleContainerPluginMojo extends AbstractMojo { @Parameter(defaultValue = "${project}") var project: MavenProject = null - @Component(role = classOf[Archiver], hint = "jar") - var jarArchiver: JarArchiver = null + @Parameter(defaultValue = "${session}", readonly = true, required = true) + var session: MavenSession = null @Parameter var archiveConfiguration: MavenArchiveConfiguration = new MavenArchiveConfiguration @@ -48,55 +48,58 @@ class AssembleContainerPluginMojo extends AbstractMojo { archiveConfiguration.setForced(true) archiveConfiguration.setManifestFile(new File(new File(project.getBuild.getOutputDirectory), JarFile.MANIFEST_NAME)) - addClassesDirectory() - createArchive(jarFiles(withoutDependencies)) + val jarWithoutDependencies = new JarArchiver() + addClassesDirectory(jarWithoutDependencies) + createArchive(jarFiles(withoutDependencies), jarWithoutDependencies) project.getArtifact.setFile(jarFiles(withoutDependencies)) - addDependencies() - createArchive(jarFiles(withDependencies)) + val jarWithDependencies = new JarArchiver() + addClassesDirectory(jarWithDependencies) + addDependencies(jarWithDependencies) + createArchive(jarFiles(withDependencies), jarWithDependencies) } private def jarFileInBuildDirectory(name: String)(jarSuffix: String) = { new File(build.getDirectory, name + jarSuffix) } - private def addClassesDirectory() { + private def addClassesDirectory(jarArchiver: JarArchiver) { val classesDirectory = new File(build.getOutputDirectory) if (classesDirectory.isDirectory) { jarArchiver.addDirectory(classesDirectory) } } - private def createArchive(jarFile: File) { + private def createArchive(jarFile: File, jarArchiver: JarArchiver) { val mavenArchiver = new MavenArchiver mavenArchiver.setArchiver(jarArchiver) mavenArchiver.setOutputFile(jarFile) - mavenArchiver.createArchive(project, archiveConfiguration) + mavenArchiver.createArchive(session, project, archiveConfiguration) } - private def addDependencies() { + private def addDependencies(jarArchiver: JarArchiver) { Artifacts.getArtifactsToInclude(project).foreach { artifact => if (artifact.getType == "jar") { jarArchiver.addFile(artifact.getFile, "dependencies/" + artifact.getFile.getName) - copyConfigDefinitions(artifact.getFile) + copyConfigDefinitions(artifact.getFile, jarArchiver) } else getLog.warn("Unkown artifact type " + artifact.getType) } } - private def copyConfigDefinitions(file: File) { + private def copyConfigDefinitions(file: File, jarArchiver: JarArchiver) { JarFiles.withJarFile(file) { jarFile => for { entry <- jarFile.entries() name = entry.getName if name.startsWith("configdefinitions/") && name.endsWith(".def") - } copyConfigDefinition(jarFile, entry) + } copyConfigDefinition(jarFile, entry, jarArchiver) } } - private def copyConfigDefinition(jarFile: JarFile, entry: ZipEntry) { + private def copyConfigDefinition(jarFile: JarFile, entry: ZipEntry, jarArchiver: JarArchiver) { JarFiles.withInputStream(jarFile, entry) { input => val defPath = entry.getName.replace("/", File.separator) val destinationFile = new File(project.getBuild.getOutputDirectory, defPath) diff --git a/docker/vespa-ci-internal.sh b/docker/vespa-ci-internal.sh index 1e5446f2905..c1102476904 100755 --- a/docker/vespa-ci-internal.sh +++ b/docker/vespa-ci-internal.sh @@ -17,7 +17,7 @@ NUM_THREADS=$((${NUM_CORES} * 2)) mkdir "${SOURCE_DIR}" mkdir "${BUILD_DIR}" -git clone --no-checkout --local --no-hardlinks file:///vespa "${SOURCE_DIR}" +git clone --no-checkout --no-hardlinks file:///vespa "${SOURCE_DIR}" cd "${SOURCE_DIR}" git -c advice.detachedHead=false checkout ${GIT_COMMIT} source /opt/rh/devtoolset-6/enable || true diff --git a/docker/vespa-ci.sh b/docker/vespa-ci.sh index beb5944233b..843f36eea34 100755 --- a/docker/vespa-ci.sh +++ b/docker/vespa-ci.sh @@ -22,5 +22,5 @@ rm -rf tmp; mkdir tmp cp -p ../dist/vespa.spec tmp/vespa.spec docker build -t "$CI_DOCKER_IMAGE" -f Dockerfile.ci . -docker run --rm -v $(pwd)/..:/vespa --entrypoint /vespa-ci-internal.sh "$CI_DOCKER_IMAGE" "$GIT_COMMIT" \ +docker run --rm -v ${DIR}/..:/vespa --entrypoint /vespa-ci-internal.sh "$CI_DOCKER_IMAGE" "$GIT_COMMIT" \ 2>&1 | tee vespa-ci-$(date +%Y-%m-%dT%H:%M:%S%z).log @@ -535,7 +535,7 @@ <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> - <version>1.8</version> + <version>1.11</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> @@ -806,17 +806,17 @@ <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-artifact</artifactId> - <version>3.1.1</version> + <version>3.5.0</version> </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-core</artifactId> - <version>3.1.1</version> + <version>3.5.0</version> </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-model</artifactId> - <version>3.1.1</version> + <version>3.5.0</version> </dependency> <dependency> <groupId>org.apache.maven.plugin-tools</groupId> @@ -834,14 +834,9 @@ <version>2.2.1</version> </dependency> <dependency> - <groupId>org.codehaus.plexus</groupId> - <artifactId>plexus-interactivity-api</artifactId> - <version>1.0-alpha-5</version> - </dependency> - <dependency> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> - <version>2.2</version> + <version>3.0.2</version> </dependency> <dependency> <groupId>org.apache.maven.surefire</groupId> @@ -1013,7 +1008,7 @@ <dependency> <groupId>org.twdata.maven</groupId> <artifactId>mojo-executor</artifactId> - <version>2.2.0</version> + <version>2.3.0</version> </dependency> <dependency> <groupId>net.jcip</groupId> |