Skip to content

Commit

Permalink
up to 3.4, except dot generator
Browse files Browse the repository at this point in the history
  • Loading branch information
millergarym committed Aug 24, 2011
1 parent f64d711 commit 44f6948
Show file tree
Hide file tree
Showing 1,004 changed files with 71,485 additions and 41,036 deletions.
68 changes: 27 additions & 41 deletions BUILD.txt
Original file line number Diff line number Diff line change
Expand Up @@ -93,11 +93,14 @@ Building
--------

Building ANTLR is trivial, assuming that you have loaded Maven version
2.0.9 or better on to your build system and installed it as explained
3.0.3 or better on to your build system and installed it as explained
here:

http://maven.apache.org/download.html

Note that the ANTLR toolset will ONLY build with version 3.0.3 of Maven
as of release 3.4.

If you are unfamiliar with Maven (and even if you are), the best
resource for learning about it is The Definitive Guide:

Expand Down Expand Up @@ -166,14 +169,14 @@ everything packaged up so it can build the uber-jar assembly.
Somewhere in the build output (towards the end), you will find a line
like this:

[INFO] Building jar: /home/jimi/antlrsrc/code/antlr/main/target/antlr-master-3.1.3-SNAPSHOT-completejar.jar
[INFO] Building jar: /home/jimi/antlrsrc/code/antlr/main/target/antlr-master-3.4-SNAPSHOT-completejar.jar

This is the executable jar that you need and you can either copy it
somewhere or, like me, you can create this script (assuming UNIX)
somewhere in your PATH:

#! /bin/bash
java -jar ~/antlrsrc/code/antlr/main/target/antlr-master-3.1.3-SNAPSHOT-completejar.jar $*
java -jar ~/antlrsrc/code/antlr/main/target/antlr-master-3.4-SNAPSHOT-completejar.jar $*

Version Numbering
-------------------
Expand Down Expand Up @@ -236,18 +239,8 @@ Deploying

Deploying the tools at the current version is relatively easy, but to
deploy to the ANTLR repositories (snapshot or release) you must have
been granted access to the antlr.org server and supplied an ssh
key. Few people will have this access of course.

Assuming that you have ssh access to antlr.org, then you will need to
do the following before deployment will authorize and work correctly
(UNIX assumed here):

$ eval `ssh-agent`
Agent PID nnnnn
$ ssh-add
Enter passphrase for /home/you/.ssh/id_rsa:
Identity added....
been granted access to the Sonatype OSS repositories' ANTLR login.
Few people will have this access of course.

Next, because we do not publish access information for antlr.org, you
will need to configure the repository server names locally. You do
Expand All @@ -258,43 +251,36 @@ this by creating (or adding to) the file:
Which should look like this:

<?xml version="1.0" encoding="UTF-8"?>
<!--
User-specific configuration for maven. Includes things that should not
be distributed with the pom.xml file, such as developer identity, along with
local settings, like proxy information. The default location for the
settings file is ~/.m2/settings.xml
-->
<settings 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/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>antlr-snapshot</id>
<username>mavensync</username>
<passphrase>passphrase for your private key</passphrase>
<privateKey>/home/youruserlogin/.ssh/id_rsa</privateKey>
</server>
<server>
<id>antlr-repo</id>
<username>mavensync</username>
<passphrase>passphrase for your private key</passphrase>
<privateKey>/home/youruserlogin/.ssh/id_rsa</privateKey>
</server>
</servers>
<settings>
<servers>
<server>
<id>sonatype-nexus-snapshots</id>
<username>xxxxxxx</username>
<password>xxxxxxx</password>
</server>
<server>
<id>sonatype-nexus-staging</id>
<username>xxxxxxx</username>
<password>xxxxxxx</password>
</server>
</servers>
</settings>

When this configuration is in place, you will be able to deploy the components,
either individually or from the master directory:

mvn -Dmaven.test.skip=true deploy
mvn -Dmaven.test.skip=true -Ddeplot deploy

You will then see lots of information about checking existing version
information and so on, and the components will be deployed.
information and so on, and the components will be deployed once you
supply the ANTLR public key passphrase to sign the jars.

Note that so long as the artifacts are versioned with a.b.c-SNAPSHOT
then deployment will always be to the development snapshot
directory. When the artifacts are versioned with a release version
then deployment will be to the antlr.org release repository, which
will then be mirrored around the world. It is important not to deploy
a release until you have built and tested it to your satisfaction.
then deployment will be to the release stahinh repository, which
will then be mirrored around the world if closed and release.
The sonatype documentation should be consulted.

Release Checklist
------------------
Expand Down
106 changes: 71 additions & 35 deletions antlr3-maven-archetype/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,14 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.antlr</groupId>
<artifactId>antlr3-maven-archetype</artifactId>
<version>3.3-SNAPSHOT</version>
<version>3.4</version>
<packaging>maven-archetype</packaging>
<name>ANTLR3 Maven Archetype</name>
<name>ANTLR3 Maven Archetype 3.4</name>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>


<!--
Inherit from the ANTLR master pom, which tells us what
Expand All @@ -25,45 +28,63 @@
<parent>
<groupId>org.antlr</groupId>
<artifactId>antlr-master</artifactId>
<version>3.2.1-SNAPSHOT</version>
<version>3.4</version>
</parent>
-->
<!--
REMOVE THIS ONCE ARCHETYPE PLUGIN BUG MENTIONED ABOVE IS FIXED AND
THE PARENT POM REFERENCE IS REINSTATED
Define where the ANTLR releated jars are deployed both for
the main ANTLR repository, which syncs with the maven main
repository, and the snapshot repository, which can be
used by developers that need the latest development version of
something, but is used here to show maven where to deploy
snapshots and releases.
-->
<distributionManagement>

<repository>
<id>antlr-repo</id>
<name>ANTLR Testing repository</name>
<url>scpexe://antlr.org/home/mavensync/antlr-repo</url>
</repository>

<snapshotRepository>
<id>antlr-snapshot</id>
<name>ANTLR Testing Snapshot Repository</name>
<url>scpexe://antlr.org/home/mavensync/antlr-snapshot</url>
</snapshotRepository>

</distributionManagement>

<!--
The ANTLR Maven artifacts are now released via the Sonotype OSS
repository, which means that they are synced to Maven central
within a few minutes of hitting the release repo for Sonotype.
To enable this, we inherit from the Sonotype provided parent
pom. However, we must also configure our .m2/settings.xml to include
the snapshot and staging server and the sonotype password. This
means that only ANTLR developers can released the artifacts, but
anyone can build locally.
-->
<parent>
<groupId>org.sonatype.oss</groupId>
<artifactId>oss-parent</artifactId>
<version>7</version>
</parent>

<profiles>
<profile>
<id>release-sign-artifacts</id>
<activation>
<property>
<name>deploy</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>

<build>

<extensions>

<extension>
<groupId>org.apache.maven.archetype</groupId>
<artifactId>archetype-packaging</artifactId>
<version>2.0-alpha-4</version>
<version>2.0</version>
</extension>

</extensions>
Expand All @@ -72,13 +93,14 @@

<plugin>
<artifactId>maven-archetype-plugin</artifactId>
<version>2.0-alpha-4</version>
<version>2.0</version>
<extensions>true</extensions>
</plugin>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.1.2</version>
<executions>
<execution>
<id>attach-sources</id>
Expand All @@ -88,7 +110,21 @@
</execution>
</executions>
</plugin>


<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.8</version>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>

</plugins>

</build>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
Archetype by Jim Idle ([email protected]) - Oct 2009
Report bugs to the ANTLR interest list at http://www.antlr.org
Generated by antlr3-maven-archetype version 3.2.1-SNAPSHOT
Generated by antlr3-maven-archetype version 3.4
=======================================================================
-->

Expand Down Expand Up @@ -58,7 +58,7 @@
<dependency>
<groupId>org.antlr</groupId>
<artifactId>antlr-runtime</artifactId>
<version>3.3-SNAPSHOT</version>
<version>3.4</version>
<scope>compile</scope>
</dependency>

Expand All @@ -84,7 +84,7 @@

<groupId>org.antlr</groupId>
<artifactId>antlr3-maven-plugin</artifactId>
<version>3.3-SNAPSHOT</version>
<version>3.4</version>
<executions>
<execution>
<goals>
Expand All @@ -95,16 +95,16 @@

</plugin>


<!--
Strictly speaking, we did not need to generate this for you from
the prototype, but we use it to illustrate how you can get
the JDK 6 Java compiler to accept 1.5 or 1.6 targeted source code
but produce class files that are compatible with JRE 1.4. As
Michael Caine might say, "Not a lot of people know that!"
Michael Caine might not say, "Not a lot of people know that!"
-->
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.6</source>
<target>jsr14</target>
Expand Down
Loading

0 comments on commit 44f6948

Please sign in to comment.