Skip to content

Commit

Permalink
[master] Maven build optimize (#64)
Browse files Browse the repository at this point in the history
* Maven build refactoring and POMs cleanup

Signed-off-by: Radek Felcman <radek.felcman@oracle.com>
  • Loading branch information
rfelcman committed Feb 8, 2021
1 parent ba6a967 commit 5ae680b
Show file tree
Hide file tree
Showing 4 changed files with 599 additions and 692 deletions.
135 changes: 42 additions & 93 deletions activation/pom.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Distribution License v. 1.0, which is available at
Expand All @@ -12,117 +12,66 @@
-->

<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<groupId>com.sun.activation</groupId>
<artifactId>all</artifactId>
<version>2.0.1-SNAPSHOT</version>
<groupId>com.sun.activation</groupId>
<artifactId>all</artifactId>
<version>2.0.1-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>com.sun.activation</groupId>
<artifactId>jakarta.activation</artifactId>
<packaging>jar</packaging>
<name>Jakarta Activation</name>

<properties>
<activation.extensionName>
jakarta.activation
</activation.extensionName>
<activation.moduleName>
jakarta.activation
</activation.moduleName>
<activation.specificationTitle>
Jakarta Activation Specification
</activation.specificationTitle>
<activation.implementationTitle>
jakarta.activation
</activation.implementationTitle>
<activation.packages.export>
jakarta.activation.*; version=${activation.spec.version},
com.sun.activation.*; version=${activation.osgiversion}
</activation.packages.export>
<findbugs.skip>
false
</findbugs.skip>
<findbugs.exclude>
${project.basedir}/exclude.xml
</findbugs.exclude>
<activation.specificationTitle>Jakarta Activation Specification</activation.specificationTitle>
<activation.implementationTitle>jakarta.activation</activation.implementationTitle>
<activation.packages.export>
jakarta.activation.*; version=${activation.spec.version},
com.sun.activation.*; version=${activation.osgiversion}
</activation.packages.export>
<activation.packages.import>*</activation.packages.import>
<spotbugs.skip>false</spotbugs.skip>
</properties>

<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<!--
Configure compiler plugin to print lint warnings.
-->
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<executions>
<execution>
<id>default-compile</id>
<configuration>
<!--
ignore some of the errors that are
too hard to fix for now
-->
<compilerArgs>
<arg>-Xlint:all</arg>
<arg>-Xlint:-rawtypes</arg>
<arg>-Xlint:-unchecked</arg>
<arg>-Xlint:-finally</arg>
</compilerArgs>
<showWarnings>true</showWarnings>
</configuration>
</execution>
</executions>
</plugin>

<!--
Configure test plugin to find *TestSuite classes.
-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<includes>
<include>**/*Test.java</include>
<include>**/*TestSuite.java</include>
</includes>
</configuration>
</plugin>

<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<!--
Configure test plugin to find *TestSuite classes.
-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<includes>
<include>**/*Test.java</include>
<include>**/*TestSuite.java</include>
</includes>
</configuration>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<!--
Force javadoc to produce non-module docs
since the module definition isn't part of
the API specification.
-->
<release>8</release>
<sourceFileExcludes>
<sourceFileExclude>module-info.java</sourceFileExclude>
<sourceFileExclude>com/**</sourceFileExclude>
</sourceFileExcludes>
<release>11</release>
</configuration>
</plugin>
</plugins>
</build>

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.1</version>
<scope>test</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>
141 changes: 74 additions & 67 deletions activationapi/pom.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 1997, 2019 Oracle and/or its affiliates. All rights reserved.
Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Distribution License v. 1.0, which is available at
Expand All @@ -10,42 +10,34 @@
SPDX-License-Identifier: BSD-3-Clause
-->

<!--
This project builds the Activation API jar file, which contains only
the jakarta.activation.* API definitions and is *only* intended to be used
for programs to compile against. Note that it includes none of the
implementation-specific classes that the jakarta.activation.* classes rely on.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<groupId>com.sun.activation</groupId>
<artifactId>all</artifactId>
<version>2.0.1-SNAPSHOT</version>
<version>2.0.1-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>jakarta.activation</groupId>
<artifactId>jakarta.activation-api</artifactId>
<packaging>jar</packaging>
<name>Jakarta Activation API jar</name>
<properties>
<activation.extensionName>
jakarta.activation
</activation.extensionName>
<activation.moduleName>
jakarta.activation
</activation.moduleName>
<activation.packages.export>
jakarta.activation.*; version=${activation.spec.version},
!com.sun.*
!com.sun.*
</activation.packages.export>
<activation.packages.import>
!com.sun.*
</activation.packages.import>
<activation.bundle.symbolicName>
jakarta.activation-api
</activation.bundle.symbolicName>
<activation.packages.import>!com.sun.*</activation.packages.import>
<activation.bundle.symbolicName>jakarta.activation-api</activation.bundle.symbolicName>
<activation.recompile.skip>true</activation.recompile.skip>
</properties>
<build>
<plugins>
Expand All @@ -59,6 +51,16 @@
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>com.sun.activation</groupId>
<artifactId>jakarta.activation</artifactId>
<version>${project.version}</version>
</artifactItem>
</artifactItems>
<outputDirectory>${project.build.outputDirectory}</outputDirectory>
</configuration>
</execution>
<execution>
<!-- download the sources -->
Expand All @@ -75,73 +77,78 @@
<version>${project.version}</version>
<classifier>sources</classifier>
<outputDirectory>
${project.build.directory}/sources
${project.build.directory}/generated-sources/sources
</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
<configuration>
<artifactItems>
<artifactItem>
<groupId>com.sun.activation</groupId>
<artifactId>jakarta.activation</artifactId>
<version>${project.version}</version>
</artifactItem>
</artifactItems>
<outputDirectory>
${project.build.outputDirectory}
</outputDirectory>
<!--
Include all the implementation source files so that
javadoc run as part of "deploy" will find all the
required classes.
<!--
Include all the implementation source files so that
javadoc run as part of "deploy" will find all the
required classes.
Don't include the metadata files from the original
jar file.
-->
<excludes>
META-INF/**
</excludes>
Don't include the metadata files from the original
jar file.
-->
<excludes>META-INF/**</excludes>
</configuration>
</plugin>

<!--
Skip compiling since the dependency plugin pulled in
the sources and class files.
-->
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<executions>
<execution>
<id>default-compile</id>
<configuration>
<skipMain>true</skipMain>
</configuration>
</execution>
</executions>
</plugin>

<!--
Don't include the implementation classes in the jar files.
-->
<!--
This plugin is reponsible for packaging artifacts
as OSGi bundles. Please refer to
http://felix.apache.org/site/apache-felix-maven-bundle-plugin-bnd.html
for more information about how to use this plugin.
-->
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<configuration>
<niceManifest>true</niceManifest>
<instructions>
<Bundle-SymbolicName>${activation.bundle.symbolicName}</Bundle-SymbolicName>
<Export-Package>${activation.packages.export}</Export-Package>
<Import-Package>${activation.packages.import}</Import-Package>
</instructions>
</configuration>
<!--
Since we don't change the packaging type to bundle, we
need to configure the plugin to execute the manifest goal
during the process-classes phase of the build life cycle.
-->
<executions>
<execution>
<id>osgi-manifest</id>
<phase>process-classes</phase>
<goals>
<goal>manifest</goal>
</goals>
</execution>
</executions>
</plugin>
<!--
Don't include the implementation classes in the jar files.
-->
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<finalName>${project.artifactId}</finalName>
<excludes>
<exclude>com/**</exclude>
</excludes>
<excludes>
<exclude>com/**</exclude>
</excludes>
</configuration>
</plugin>

<!--
Don't include the implementation sources in the sources jar file.
-->
<plugin>
<artifactId>maven-source-plugin</artifactId>
<configuration>
<excludes>
<exclude>com/**</exclude>
</excludes>
<excludes>
<exclude>com/**</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
Expand Down

0 comments on commit 5ae680b

Please sign in to comment.