Port to maven-jar-plugin 3.0.0

This commit is contained in:
Mikolaj Izdebski 2016-05-31 10:52:52 +02:00
parent f259b041da
commit 1531352d0f
3 changed files with 171 additions and 6 deletions

View File

@ -1,7 +1,7 @@
From 00823b8008bffc5dd65c9e8de604994040a3190d Mon Sep 17 00:00:00 2001
From d71aa7acc93b944b159ac63f85d9ba1a566f5a8d Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk@redhat.com>
Date: Tue, 29 Jul 2014 09:00:03 +0200
Subject: [PATCH] Generate different Bundle-SymbolicName for different JARs
Subject: [PATCH 1/2] Generate different Bundle-SymbolicName for different JARs
---
pom.xml | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
@ -95,5 +95,5 @@ index cdad31c..5707595 100644
<include>org/apache/commons/logging/impl/**.class</include>
<include>META-INF/LICENSE.txt</include>
--
1.9.3
2.5.5

View File

@ -0,0 +1,160 @@
From d8356a58efde0808cabede14b4f1b2473fa73170 Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk@redhat.com>
Date: Tue, 31 May 2016 10:52:12 +0200
Subject: [PATCH 2/2] Port to maven-jar-plugin 3.0.0
---
pom.xml | 47 +++++-----------------
.../logging/pathable/ChildFirstTestCase.java | 8 ++--
.../logging/pathable/ParentFirstTestCase.java | 8 ++--
3 files changed, 17 insertions(+), 46 deletions(-)
diff --git a/pom.xml b/pom.xml
index 5707595..c5d8d37 100644
--- a/pom.xml
+++ b/pom.xml
@@ -237,6 +237,10 @@ under the License.
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
+ <id>default-jar</id>
+ <phase>skip</phase>
+ </execution>
+ <execution>
<!--
- The custom test framework requires the unit test code to be
- in a jarfile so it can control its place in the classpath.
@@ -261,7 +265,7 @@ under the License.
<goal>jar</goal>
</goals>
<configuration>
- <jarName>${project.artifactId}-api-${project.version}</jarName>
+ <classifier>api</classifier>
<archive>
<manifestFile>${project.build.directory}/osgi-api/MANIFEST.MF</manifestFile>
</archive>
@@ -288,7 +292,7 @@ under the License.
<goal>jar</goal>
</goals>
<configuration>
- <jarName>${project.artifactId}-adapters-${project.version}</jarName>
+ <classifier>adapters</classifier>
<archive>
<manifestFile>${project.build.directory}/osgi-adapters/MANIFEST.MF</manifestFile>
</archive>
@@ -346,39 +350,6 @@ under the License.
<plugin>
<!--
- - Attach the adapters and api jars to the normal artifact. This way
- - they will be deployed when the normal artifact is deployed.
- -->
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <version>1.0</version>
- <executions>
- <execution>
- <id>attach-artifacts</id>
- <phase>package</phase>
- <goals>
- <goal>attach-artifact</goal>
- </goals>
- <configuration>
- <artifacts>
- <artifact>
- <file>${project.build.directory}/${project.artifactId}-adapters-${project.version}.jar</file>
- <type>jar</type>
- <classifier>adapters</classifier>
- </artifact>
- <artifact>
- <file>${project.build.directory}/${project.artifactId}-api-${project.version}.jar</file>
- <type>jar</type>
- <classifier>api</classifier>
- </artifact>
- </artifacts>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <!--
- Many of JCL's tests use tricky techniques to place the generated
- JCL jarfiles on the classpath in various configurations. This means
- that those tests must be run *after* the "package" build phase.
@@ -442,9 +413,9 @@ under the License.
<logkit>${logkit:logkit:jar}</logkit>
<servlet-api>${javax.servlet:servlet-api:jar}</servlet-api>
<commons-logging>target/${project.build.finalName}.jar</commons-logging>
- <commons-logging-api>target/${project.artifactId}-api-${project.version}.jar</commons-logging-api>
- <commons-logging-adapters>target/${project.artifactId}-adapters-${project.version}.jar</commons-logging-adapters>
- <testclasses>target/commons-logging-tests.jar</testclasses>
+ <commons-logging-api>target/${project.artifactId}-${project.version}-api.jar</commons-logging-api>
+ <commons-logging-adapters>target/${project.artifactId}-${project.version}-adapters.jar</commons-logging-adapters>
+ <testclasses>target/commons-logging-${project.version}-tests.jar</testclasses>
</systemPropertyVariables>
</configuration>
</execution>
diff --git a/src/test/java/org/apache/commons/logging/pathable/ChildFirstTestCase.java b/src/test/java/org/apache/commons/logging/pathable/ChildFirstTestCase.java
index 1aeb12d..eb67ec1 100644
--- a/src/test/java/org/apache/commons/logging/pathable/ChildFirstTestCase.java
+++ b/src/test/java/org/apache/commons/logging/pathable/ChildFirstTestCase.java
@@ -213,11 +213,11 @@ public class ChildFirstTestCase extends TestCase {
// getResource where it is accessable to both classloaders. The one visible
// to the child should be returned. The URL returned will be of form
// jar:file:/x/y.jar!path/to/resource. The filename part should include the jarname
- // of form commons-logging-adapters-nnnn.jar, not commons-logging-nnnn.jar
+ // of form commons-logging-nnnn-adapters.jar, not commons-logging-nnnn.jar
resource = childLoader.getResource("org/apache/commons/logging/impl/Log4JLogger.class");
assertNotNull("Unable to locate Log4JLogger.class resource", resource);
assertTrue("Incorrect source for Log4JLogger class",
- resource.toString().indexOf("/commons-logging-adapters-1.") > 0);
+ resource.toString().indexOf("/commons-logging-1.2-adapters.jar!") > 0);
}
/**
@@ -269,9 +269,9 @@ public class ChildFirstTestCase extends TestCase {
urlsToStrings[1] = urls[1].toString();
Arrays.sort(urlsToStrings);
assertTrue("Incorrect source for Log4JLogger class",
- urlsToStrings[0].indexOf("/commons-logging-1.") > 0);
+ urlsToStrings[0].indexOf("/commons-logging-1.2-adapters.jar!") > 0);
assertTrue("Incorrect source for Log4JLogger class",
- urlsToStrings[1].indexOf("/commons-logging-adapters-1.") > 0);
+ urlsToStrings[1].indexOf("/commons-logging-1.2.jar!") > 0);
}
/**
diff --git a/src/test/java/org/apache/commons/logging/pathable/ParentFirstTestCase.java b/src/test/java/org/apache/commons/logging/pathable/ParentFirstTestCase.java
index f9bf452..fc10c8e 100644
--- a/src/test/java/org/apache/commons/logging/pathable/ParentFirstTestCase.java
+++ b/src/test/java/org/apache/commons/logging/pathable/ParentFirstTestCase.java
@@ -210,11 +210,11 @@ public class ParentFirstTestCase extends TestCase {
// getResource where it is accessable to both classloaders. The one visible
// to the parent should be returned. The URL returned will be of form
// jar:file:/x/y.jar!path/to/resource. The filename part should include the jarname
- // of form commons-logging-nnnn.jar, not commons-logging-adapters-nnnn.jar
+ // of form commons-logging-nnnn.jar, not commons-logging-nnnn-adapters.jar
resource = childLoader.getResource("org/apache/commons/logging/impl/Log4JLogger.class");
assertNotNull("Unable to locate Log4JLogger.class resource", resource);
assertTrue("Incorrect source for Log4JLogger class",
- resource.toString().indexOf("/commons-logging-1.") > 0);
+ resource.toString().indexOf("/commons-logging-1.2.jar!") > 0);
}
/**
@@ -259,9 +259,9 @@ public class ParentFirstTestCase extends TestCase {
urlsToStrings[1] = urls[1].toString();
Arrays.sort(urlsToStrings);
assertTrue("Incorrect source for Log4JLogger class",
- urlsToStrings[0].indexOf("/commons-logging-1.") > 0);
+ urlsToStrings[0].indexOf("/commons-logging-1.2-adapters.jar!") > 0);
assertTrue("Incorrect source for Log4JLogger class",
- urlsToStrings[1].indexOf("/commons-logging-adapters-1.") > 0);
+ urlsToStrings[1].indexOf("/commons-logging-1.2.jar!") > 0);
}
--
2.5.5

View File

@ -7,7 +7,7 @@
Name: apache-%{short_name}
Version: 1.2
Release: 5%{?dist}
Release: 6%{?dist}
Summary: Apache Commons Logging
License: ASL 2.0
URL: http://commons.apache.org/%{base_name}
@ -15,6 +15,7 @@ Source0: http://www.apache.org/dist/commons/%{base_name}/source/%{short_n
Source2: http://mirrors.ibiblio.org/pub/mirrors/maven2/%{short_name}/%{short_name}-api/1.1/%{short_name}-api-1.1.pom
Patch0: 0001-Generate-different-Bundle-SymbolicName-for-different.patch
Patch1: 0002-Port-to-maven-jar-plugin-3.0.0.patch
BuildRequires: maven-local
BuildRequires: mvn(avalon-framework:avalon-framework-api)
@ -53,6 +54,7 @@ Summary: API documentation for %{name}
%prep
%setup -q -n %{short_name}-%{version}-src
%patch0 -p1
%patch1 -p1
# Sent upstream https://issues.apache.org/jira/browse/LOGGING-143
%pom_remove_dep :avalon-framework
@ -82,8 +84,8 @@ rm -rf src/test/java/org/apache/commons/logging/log4j/log4j12
%install
%mvn_install
install -p -m 644 target/%{short_name}-api-%{version}.jar %{buildroot}/%{_javadir}/%{name}-api.jar
install -p -m 644 target/%{short_name}-adapters-%{version}.jar %{buildroot}/%{_javadir}/%{name}-adapters.jar
install -p -m 644 target/%{short_name}-%{version}-api.jar %{buildroot}/%{_javadir}/%{name}-api.jar
install -p -m 644 target/%{short_name}-%{version}-adapters.jar %{buildroot}/%{_javadir}/%{name}-adapters.jar
pushd %{buildroot}/%{_javadir}
for jar in %{name}-*; do
@ -108,6 +110,9 @@ install -pm 644 %{SOURCE2} %{buildroot}/%{_mavenpomdir}/JPP-%{short_name}-api.po
# -----------------------------------------------------------------------------
%changelog
* Tue May 31 2016 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.2-6
- Port to maven-jar-plugin 3.0.0
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild