You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by sc...@apache.org on 2018/10/15 20:37:32 UTC
svn commit: r1843952 - in /uima/build/trunk/parent-pom: plugin-patches/ src/
src/resources/
Author: schor
Date: Mon Oct 15 20:37:32 2018
New Revision: 1843952
URL: http://svn.apache.org/viewvc?rev=1843952&view=rev
Log:
[UIMA-5876][UIMA-5753] updates for signatures/checksums and Java 11 enablement, details in the Jira comments. Includes patched jars and patches for two maven plugins
Added:
uima/build/trunk/parent-pom/plugin-patches/
uima/build/trunk/parent-pom/plugin-patches/checksum-maven-plugin-1.8-issue-63.patch.txt
uima/build/trunk/parent-pom/plugin-patches/maven-gpg-plugin-MGPG-66.patch.txt
uima/build/trunk/parent-pom/src/
uima/build/trunk/parent-pom/src/resources/
uima/build/trunk/parent-pom/src/resources/checksum-maven-plugin-1.8.jar (with props)
uima/build/trunk/parent-pom/src/resources/maven-gpg-plugin-1.6.jar (with props)
Added: uima/build/trunk/parent-pom/plugin-patches/checksum-maven-plugin-1.8-issue-63.patch.txt
URL: http://svn.apache.org/viewvc/uima/build/trunk/parent-pom/plugin-patches/checksum-maven-plugin-1.8-issue-63.patch.txt?rev=1843952&view=auto
==============================================================================
--- uima/build/trunk/parent-pom/plugin-patches/checksum-maven-plugin-1.8-issue-63.patch.txt (added)
+++ uima/build/trunk/parent-pom/plugin-patches/checksum-maven-plugin-1.8-issue-63.patch.txt Mon Oct 15 20:37:32 2018
@@ -0,0 +1,652 @@
+diff --git a/src/main/java/net/nicoulaj/maven/plugins/checksum/artifacts/ArtifactAttacher.java b/src/main/java/net/nicoulaj/maven/plugins/checksum/artifacts/ArtifactAttacher.java
+index 1da2b10..e838514 100644
+--- a/src/main/java/net/nicoulaj/maven/plugins/checksum/artifacts/ArtifactAttacher.java
++++ b/src/main/java/net/nicoulaj/maven/plugins/checksum/artifacts/ArtifactAttacher.java
+@@ -1,44 +1,53 @@
+-/*
+- * checksum-maven-plugin - http://checksum-maven-plugin.nicoulaj.net
+- * Copyright © 2010-2018 checksum-maven-plugin contributors
+- *
+- * 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 net.nicoulaj.maven.plugins.checksum.artifacts;
+-
+-import org.apache.maven.project.MavenProject;
+-import org.apache.maven.project.MavenProjectHelper;
+-
+-import java.io.File;
+-
+-public class ArtifactAttacher implements ArtifactListener {
+- private final MavenProject project;
+- private final MavenProjectHelper projectHelper;
+-
+- public ArtifactAttacher(MavenProject project, MavenProjectHelper projectHelper) {
+- this.project = project;
+- this.projectHelper = projectHelper;
+- }
+-
+- @Override
+- public void artifactCreated(File artifact, String checksumType, String artifactType, String artifactClassifier) {
+- if (checksumType.startsWith(".")) {
+- // Project helper expects a type without leading dot (e.g. turn ".md5" into "md5").
+- checksumType = checksumType.substring(1);
+- }
+-
+- String attachmentType = artifactType == null ? checksumType : artifactType + "." + checksumType;
+-
+- projectHelper.attachArtifact(project, attachmentType, artifactClassifier, artifact);
+- }
+-}
++/*
++ * checksum-maven-plugin - http://checksum-maven-plugin.nicoulaj.net
++ * Copyright © 2010-2018 checksum-maven-plugin contributors
++ *
++ * 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 net.nicoulaj.maven.plugins.checksum.artifacts;
++
++import org.apache.maven.project.MavenProject;
++import org.apache.maven.project.MavenProjectHelper;
++
++import java.io.File;
++
++public class ArtifactAttacher implements ArtifactListener {
++ private final MavenProject project;
++ private final MavenProjectHelper projectHelper;
++
++ public ArtifactAttacher(MavenProject project, MavenProjectHelper projectHelper) {
++ this.project = project;
++ this.projectHelper = projectHelper;
++ }
++
++ @Override
++ public void artifactCreated(File artifact, String checksumType, String artifactType, String artifactClassifier) {
++ if (checksumType.startsWith(".")) {
++ // Project helper expects a type without leading dot (e.g. turn ".md5" into "md5").
++ checksumType = checksumType.substring(1);
++ }
++
++ String fileName = artifact.getName();
++ int period1 = fileName.lastIndexOf('.'); // finds xxx.yyy.sha512 period in front of sha512
++ int period2 = fileName.lastIndexOf('.', period1 - 1);
++ String attachmentType = fileName.substring(period2 + 1); // yyy.sha512
++// String attachmentType = fileType + "." + checksumType;
++// System.out.println("debug artifactType: " + ((artifactType == null) ? "null" : artifactType));
++// System.out.println("debug artifactClassifier: " + artifactClassifier);
++// System.out.println("debug checksumType: " + ((checksumType == null) ? "null" : checksumType));
++// System.out.println("debug derived attachmentType: " + attachmentType);
++// System.out.println("debug artifact: " + artifact.getAbsolutePath());
++
++ projectHelper.attachArtifact(project, attachmentType, artifactClassifier, artifact);
++ }
++}
+diff --git a/src/main/java/net/nicoulaj/maven/plugins/checksum/mojo/ArtifactsMojo.java b/src/main/java/net/nicoulaj/maven/plugins/checksum/mojo/ArtifactsMojo.java
+index e70347e..d654ae1 100644
+--- a/src/main/java/net/nicoulaj/maven/plugins/checksum/mojo/ArtifactsMojo.java
++++ b/src/main/java/net/nicoulaj/maven/plugins/checksum/mojo/ArtifactsMojo.java
+@@ -1,266 +1,285 @@
+-/*
+- * checksum-maven-plugin - http://checksum-maven-plugin.nicoulaj.net
+- * Copyright © 2010-2018 checksum-maven-plugin contributors
+- *
+- * 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 net.nicoulaj.maven.plugins.checksum.mojo;
++/*
++ * checksum-maven-plugin - http://checksum-maven-plugin.nicoulaj.net
++ * Copyright © 2010-2018 checksum-maven-plugin contributors
++ *
++ * 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 net.nicoulaj.maven.plugins.checksum.mojo;
++
++import org.apache.maven.artifact.Artifact;
++import org.apache.maven.plugin.MojoExecutionException;
++import org.apache.maven.plugins.annotations.LifecyclePhase;
++import org.apache.maven.plugins.annotations.Mojo;
++import org.apache.maven.plugins.annotations.Parameter;
++import org.codehaus.plexus.util.FileUtils;
++
++import java.io.File;
++import java.io.IOException;
++import java.util.LinkedList;
++import java.util.List;
++
++/**
++ * Compute project artifacts checksum digests and store them in individual files and/or a summary file.
++ *
++ * @author <a href="mailto:julien.nicoulaud@gmail.com">Julien Nicoulaud</a>
++ * @since 1.0
++ */
++@Mojo(
++ name = ArtifactsMojo.NAME,
++ defaultPhase = LifecyclePhase.VERIFY,
++ requiresProject = true,
++ inheritByDefault = false,
++ threadSafe = true )
++public class ArtifactsMojo
++ extends AbstractChecksumMojo
++{
++
++ /**
++ * The mojo name.
++ */
++ public static final String NAME = "artifacts";
++
++ /**
++ * Indicates whether the build will store checksums in separate files (one file per algorithm per artifact).
++ *
++ * @since 1.0
++ */
++ @Parameter( defaultValue = "true" )
++ protected boolean individualFiles;
++
++ /**
++ * The directory where output files will be stored. Leave unset to have each file next to the source file.
++ *
++ * @since 1.0
++ */
++ @Parameter
++ protected String individualFilesOutputDirectory;
++
++ /**
++ * Indicates whether the build will store checksums to a single CSV summary file.
++ *
++ * @since 1.0
++ */
++ @Parameter( defaultValue = "false" )
++ protected boolean csvSummary;
++
++ /**
++ * The name of the summary file created if the option is activated.
++ *
++ * @see #csvSummary
++ * @since 1.0
++ */
++ @Parameter( defaultValue = "artifacts-checksums.csv" )
++ protected String csvSummaryFile;
++
++ /**
++ * Indicates whether the build will store checksums to a single XML summary file.
++ *
++ * @since 1.0
++ */
++ @Parameter( defaultValue = "false" )
++ protected boolean xmlSummary;
++
++ /**
++ * The name of the summary file created if the option is activated.
++ *
++ * @see #xmlSummary
++ * @since 1.0
++ */
++ @Parameter( defaultValue = "artifacts-checksums.xml" )
++ protected String xmlSummaryFile;
++
++ /**
++ * Indicates whether the build will store checksums to a single shasum summary file.
++ *
++ * @since 1.3
++ */
++ @Parameter( defaultValue = "false" )
++ protected boolean shasumSummary;
++
++ /**
++ * The name of the summary file created if the option is activated.
++ *
++ * @see #shasumSummary
++ * @since 1.3
++ */
++ @Parameter( defaultValue = "artifacts-checksums.sha" )
++ protected String shasumSummaryFile;
++
++ /**
++ * Append the artifact filename in the generated checksum file.
++ * This parameter require the parameter individualFiles be equal to true.
++ *
++ * @see #individualFiles
++ * @since 1.4
++ */
++ @Parameter (defaultValue = "false")
++ protected boolean appendFilename;
++
++ /**
++ * Constructor.
++ */
++ public ArtifactsMojo() {
++ super(false, true, true);
++ }
++
++ /**
++ * Build the list of files from which digests should be generated.
++ *
++ * <p>The list is composed of the project main and attached artifacts.</p>
++ *
++ * @return the list of files that should be processed.
++ * @see #hasValidFile(org.apache.maven.artifact.Artifact)
++ */
++ @Override
++ protected List<ChecksumFile> getFilesToProcess()
++ {
++ List<ChecksumFile> files = new LinkedList<ChecksumFile>();
++
++ // add pom (copy to target)
++ File pomToSign = new File( project.getBuild().getDirectory(), project.getBuild().getFinalName() + ".pom" );
+
+-import org.apache.maven.artifact.Artifact;
+-import org.apache.maven.plugins.annotations.LifecyclePhase;
+-import org.apache.maven.plugins.annotations.Mojo;
+-import org.apache.maven.plugins.annotations.Parameter;
+-
+-import java.util.LinkedList;
+-import java.util.List;
+-
+-/**
+- * Compute project artifacts checksum digests and store them in individual files and/or a summary file.
+- *
+- * @author <a href="mailto:julien.nicoulaud@gmail.com">Julien Nicoulaud</a>
+- * @since 1.0
+- */
+-@Mojo(
+- name = ArtifactsMojo.NAME,
+- defaultPhase = LifecyclePhase.VERIFY,
+- requiresProject = true,
+- inheritByDefault = false,
+- threadSafe = true )
+-public class ArtifactsMojo
+- extends AbstractChecksumMojo
+-{
+-
+- /**
+- * The mojo name.
+- */
+- public static final String NAME = "artifacts";
+-
+- /**
+- * Indicates whether the build will store checksums in separate files (one file per algorithm per artifact).
+- *
+- * @since 1.0
+- */
+- @Parameter( defaultValue = "true" )
+- protected boolean individualFiles;
+-
+- /**
+- * The directory where output files will be stored. Leave unset to have each file next to the source file.
+- *
+- * @since 1.0
+- */
+- @Parameter
+- protected String individualFilesOutputDirectory;
+-
+- /**
+- * Indicates whether the build will store checksums to a single CSV summary file.
+- *
+- * @since 1.0
+- */
+- @Parameter( defaultValue = "false" )
+- protected boolean csvSummary;
+-
+- /**
+- * The name of the summary file created if the option is activated.
+- *
+- * @see #csvSummary
+- * @since 1.0
+- */
+- @Parameter( defaultValue = "artifacts-checksums.csv" )
+- protected String csvSummaryFile;
+-
+- /**
+- * Indicates whether the build will store checksums to a single XML summary file.
+- *
+- * @since 1.0
+- */
+- @Parameter( defaultValue = "false" )
+- protected boolean xmlSummary;
+-
+- /**
+- * The name of the summary file created if the option is activated.
+- *
+- * @see #xmlSummary
+- * @since 1.0
+- */
+- @Parameter( defaultValue = "artifacts-checksums.xml" )
+- protected String xmlSummaryFile;
+-
+- /**
+- * Indicates whether the build will store checksums to a single shasum summary file.
+- *
+- * @since 1.3
+- */
+- @Parameter( defaultValue = "false" )
+- protected boolean shasumSummary;
+-
+- /**
+- * The name of the summary file created if the option is activated.
+- *
+- * @see #shasumSummary
+- * @since 1.3
+- */
+- @Parameter( defaultValue = "artifacts-checksums.sha" )
+- protected String shasumSummaryFile;
+-
+- /**
+- * Append the artifact filename in the generated checksum file.
+- * This parameter require the parameter individualFiles be equal to true.
+- *
+- * @see #individualFiles
+- * @since 1.4
+- */
+- @Parameter (defaultValue = "false")
+- protected boolean appendFilename;
+-
+- /**
+- * Constructor.
+- */
+- public ArtifactsMojo() {
+- super(false, true, true);
+- }
+-
+- /**
+- * Build the list of files from which digests should be generated.
+- *
+- * <p>The list is composed of the project main and attached artifacts.</p>
+- *
+- * @return the list of files that should be processed.
+- * @see #hasValidFile(org.apache.maven.artifact.Artifact)
+- */
+- @Override
+- protected List<ChecksumFile> getFilesToProcess()
+- {
+- List<ChecksumFile> files = new LinkedList<ChecksumFile>();
+-
+- // Add project main artifact.
+- if ( hasValidFile( project.getArtifact() ) )
++ try
+ {
+- files.add( new ChecksumFile( "", project.getArtifact().getFile(), project.getArtifact().getType(),null ) );
++ FileUtils.copyFile( project.getFile(), pomToSign );
+ }
+-
+- // Add projects attached.
+- if ( project.getAttachedArtifacts() != null )
++ catch ( IOException e )
+ {
+- for ( Artifact artifact : (List<Artifact>) project.getAttachedArtifacts() )
+- {
+- if ( hasValidFile( artifact ) )
+- {
+- files.add( new ChecksumFile( "", artifact.getFile(), artifact.getType(), artifact.getClassifier() ) );
+- }
+- }
++ throw new RuntimeException( new MojoExecutionException( "Error copying POM for signing.", e ) );
+ }
+- return files;
+- }
++
++ files.add( new ChecksumFile( "", pomToSign, "pom", null ) );
+
+- /**
+- * Decide whether the artifact file should be processed.
+- *
+- * <p>Excludes the project POM file and any file outside the build directory, because this could lead to writing
+- * files on the user local repository for example.</p>
+- *
+- * @param artifact the artifact to check.
+- * @return true if the artifact should be included in the files to process.
+- */
+- protected boolean hasValidFile( Artifact artifact )
+- {
+- // Make sure the file exists.
+- boolean hasValidFile = artifact != null && artifact.getFile() != null && artifact.getFile().exists();
+-
+- // Exclude project POM file.
+- hasValidFile = hasValidFile && !artifact.getFile().getPath().equals( project.getFile().getPath() );
+-
+- // Exclude files outside of build directory.
+- hasValidFile = hasValidFile && artifact.getFile().getPath().startsWith( project.getBuild().getDirectory() );
+-
+- return hasValidFile;
+- }
+-
+- /**
+- * {@inheritDoc}
+- */
+- @Override
+- protected boolean isIndividualFiles()
+- {
+- return individualFiles;
+- }
+-
+- /**
+- * {@inheritDoc}
+- */
+- @Override
+- protected String getIndividualFilesOutputDirectory()
+- {
+- return individualFilesOutputDirectory;
+- }
+-
+- /**
+- * {@inheritDoc}
+- */
+- @Override
+- protected boolean isAppendFilename(){
+- return this.appendFilename;
+- }
+-
+- /**
+- * {@inheritDoc}
+- */
+- @Override
+- protected boolean isCsvSummary()
+- {
+- return csvSummary;
+- }
+-
+- /**
+- * {@inheritDoc}
+- */
+- protected String getCsvSummaryFile()
+- {
+- return csvSummaryFile;
+- }
+-
+- /**
+- * {@inheritDoc}
+- */
+- @Override
+- protected boolean isXmlSummary()
+- {
+- return xmlSummary;
+- }
+-
+- /**
+- * {@inheritDoc}
+- */
+- @Override
+- protected String getXmlSummaryFile()
+- {
+- return xmlSummaryFile;
+- }
+-
+- /**
+- * {@inheritDoc}
+- */
+- @Override
+- protected boolean isShasumSummary()
+- {
+- return shasumSummary;
+- }
+-
+- /**
+- * {@inheritDoc}
+- */
+- @Override
+- protected String getShasumSummaryFile()
+- {
+- return shasumSummaryFile;
+- }
+-}
++ // Add project main artifact.
++ if ( hasValidFile( project.getArtifact() ) )
++ {
++ files.add( new ChecksumFile( "", project.getArtifact().getFile(), project.getArtifact().getType(),
++ project.getArtifact().getClassifier() ) );
++ }
++
++ // Add projects attached.
++ if ( project.getAttachedArtifacts() != null )
++ {
++ for ( Artifact artifact : (List<Artifact>) project.getAttachedArtifacts() )
++ {
++ if ( hasValidFile( artifact ) )
++ {
++ files.add( new ChecksumFile( "", artifact.getFile(), artifact.getType(), artifact.getClassifier() ) );
++ }
++ }
++ }
++ return files;
++ }
++
++ /**
++ * Decide whether the artifact file should be processed.
++ *
++ * <p>Excludes the project POM file and any file outside the build directory, because this could lead to writing
++ * files on the user local repository for example.</p>
++ *
++ * @param artifact the artifact to check.
++ * @return true if the artifact should be included in the files to process.
++ */
++ protected boolean hasValidFile( Artifact artifact )
++ {
++ // Make sure the file exists.
++ boolean hasValidFile = artifact != null && artifact.getFile() != null && artifact.getFile().exists();
++
++ // Exclude project POM file.
++ hasValidFile = hasValidFile && !artifact.getFile().getPath().equals( project.getFile().getPath() );
++
++ // Exclude files outside of build directory.
++ hasValidFile = hasValidFile && artifact.getFile().getPath().startsWith( project.getBuild().getDirectory() );
++
++ return hasValidFile;
++ }
++
++ /**
++ * {@inheritDoc}
++ */
++ @Override
++ protected boolean isIndividualFiles()
++ {
++ return individualFiles;
++ }
++
++ /**
++ * {@inheritDoc}
++ */
++ @Override
++ protected String getIndividualFilesOutputDirectory()
++ {
++ return individualFilesOutputDirectory;
++ }
++
++ /**
++ * {@inheritDoc}
++ */
++ @Override
++ protected boolean isAppendFilename(){
++ return this.appendFilename;
++ }
++
++ /**
++ * {@inheritDoc}
++ */
++ @Override
++ protected boolean isCsvSummary()
++ {
++ return csvSummary;
++ }
++
++ /**
++ * {@inheritDoc}
++ */
++ protected String getCsvSummaryFile()
++ {
++ return csvSummaryFile;
++ }
++
++ /**
++ * {@inheritDoc}
++ */
++ @Override
++ protected boolean isXmlSummary()
++ {
++ return xmlSummary;
++ }
++
++ /**
++ * {@inheritDoc}
++ */
++ @Override
++ protected String getXmlSummaryFile()
++ {
++ return xmlSummaryFile;
++ }
++
++ /**
++ * {@inheritDoc}
++ */
++ @Override
++ protected boolean isShasumSummary()
++ {
++ return shasumSummary;
++ }
++
++ /**
++ * {@inheritDoc}
++ */
++ @Override
++ protected String getShasumSummaryFile()
++ {
++ return shasumSummaryFile;
++ }
++}
Added: uima/build/trunk/parent-pom/plugin-patches/maven-gpg-plugin-MGPG-66.patch.txt
URL: http://svn.apache.org/viewvc/uima/build/trunk/parent-pom/plugin-patches/maven-gpg-plugin-MGPG-66.patch.txt?rev=1843952&view=auto
==============================================================================
--- uima/build/trunk/parent-pom/plugin-patches/maven-gpg-plugin-MGPG-66.patch.txt (added)
+++ uima/build/trunk/parent-pom/plugin-patches/maven-gpg-plugin-MGPG-66.patch.txt Mon Oct 15 20:37:32 2018
@@ -0,0 +1,22 @@
+diff --git a/src/main/java/org/apache/maven/plugin/gpg/GpgSignAttachedMojo.java b/src/main/java/org/apache/maven/plugin/gpg/GpgSignAttachedMojo.java
+index eccc716..d9f0ae7 100644
+--- a/src/main/java/org/apache/maven/plugin/gpg/GpgSignAttachedMojo.java
++++ b/src/main/java/org/apache/maven/plugin/gpg/GpgSignAttachedMojo.java
+@@ -190,6 +190,9 @@
+
+ File file = artifact.getFile();
+
++ if ( ! isExcluded( file.getPath() ) )
++ {
++
+ getLog().debug( "Generating signature for " + file );
+
+ File signature = signer.generateSignatureForArtifact( file );
+@@ -200,6 +203,7 @@
+ artifact.getClassifier(), signature ) );
+ }
+ }
++ }
+
+ // ----------------------------------------------------------------------------
+ // Attach all the signatures
Added: uima/build/trunk/parent-pom/src/resources/checksum-maven-plugin-1.8.jar
URL: http://svn.apache.org/viewvc/uima/build/trunk/parent-pom/src/resources/checksum-maven-plugin-1.8.jar?rev=1843952&view=auto
==============================================================================
Binary file - no diff available.
Propchange: uima/build/trunk/parent-pom/src/resources/checksum-maven-plugin-1.8.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: uima/build/trunk/parent-pom/src/resources/maven-gpg-plugin-1.6.jar
URL: http://svn.apache.org/viewvc/uima/build/trunk/parent-pom/src/resources/maven-gpg-plugin-1.6.jar?rev=1843952&view=auto
==============================================================================
Binary file - no diff available.
Propchange: uima/build/trunk/parent-pom/src/resources/maven-gpg-plugin-1.6.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream