A near complete build system now. It generates the assemblies for distribution.

This commit is contained in:
Oliver Burn 2010-09-17 05:41:38 +00:00
parent c3205aa0fb
commit 1f8ac6a2ae
4 changed files with 174 additions and 21 deletions

41
config/assembly-bin.xml Normal file
View File

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.1 http://maven.apache.org/xsd/assembly-1.1.1.xsd"
>
<id>bin</id>
<formats>
<format>tar.gz</format>
<format>zip</format>
</formats>
<includeSiteDirectory>true</includeSiteDirectory>
<files>
<file>
<source>${project.build.directory}/${project.name}-${project.version}-all.jar</source>
</file>
</files>
<fileSets>
<fileSet>
<useDefaultExcludes>true</useDefaultExcludes>
<includes>
<include>checkstyle_checks.xml</include>
<include>import-control.xml</include>
<include>sun_checks.xml</include>
<include>suppressions.xml</include>
<include>contrib/**</include>
<include>java.header</include>
<include>LICENSE*</include>
<include>README</include>
<include>RIGHTS.antlr</include>
</includes>
</fileSet>
</fileSets>
<dependencySets>
<dependencySet>
<useProjectArtifact>true</useProjectArtifact>
</dependencySet>
</dependencySets>
</assembly>

23
config/assembly-src.xml Normal file
View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.1 http://maven.apache.org/xsd/assembly-1.1.1.xsd"
>
<id>src</id>
<formats>
<format>tar.gz</format>
<format>zip</format>
</formats>
<fileSets>
<fileSet>
<useDefaultExcludes>true</useDefaultExcludes>
<excludes>
<exclude>target/**</exclude>
<exclude>*.launch</exclude>
<exclude>nbactions.xml</exclude>
<exclude>lib/**</exclude>
</excludes>
</fileSet>
</fileSets>
</assembly>

127
pom.xml
View File

@ -5,7 +5,7 @@
<artifactId>checkstyle</artifactId>
<version>5.2-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Checkstyle</name>
<name>checkstyle</name>
<url>http://checkstyle.sourceforge.net/</url>
<inceptionYear>2001</inceptionYear>
@ -129,20 +129,40 @@
<testSourceDirectory>src/tests</testSourceDirectory>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-versions</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireJavaVersion>
<version>1.5</version>
</requireJavaVersion>
<requireProperty>
<property>java.vendor</property>
<regex>^Sun Microsystems Inc\.$</regex>
</requireProperty>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<!-- Generate the grammar -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
@ -243,14 +263,77 @@
</configuration>
</plugin>
<!-- For generating Javadoc -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<id>runner</id>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>com.puppycrawl.tools.checkstyle.gui.Main</mainClass>
<classpathScope>runtime</classpathScope>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<!-- version>2.7</version -->
<artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<shadedArtifactAttached>true</shadedArtifactAttached>
<shadedClassifierName>all</shadedClassifierName>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.puppycrawl.tools.checkstyle.Main</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
<!-- Ensure the manifest has all the gory details -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptors>
<descriptor>config/assembly-bin.xml</descriptor>
<descriptor>config/assembly-src.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>make-bundle</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
@ -262,9 +345,17 @@
<configuration>
<source>1.5</source>
</configuration>
<reportSets>
<reportSet>
<id>default</id>
<reports>
<report>javadoc</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
</project>

View File

@ -6,10 +6,10 @@
<body>
<menu name="About">
<item name="Checkstyle" href="index.html"/>
<item name="Release Notes" href="releasenotes.html"/>
</menu>
<menu name="Documentation">
<item name="Release Notes" href="releasenotes.html"/>
<item name="Configuration" href="config.html">
<item name="Property Types" href="property_types.html"/>
</item>
@ -43,8 +43,6 @@
<item name="Writing filters" href="writingfilters.html"/>
<item name="Writing listeners" href="writinglisteners.html"/>
</item>
<item name="Javadoc" href="api/index.html"/>
</menu>
<menu name="SourceForge">