canonical start path

git-svn-id: svn+ssh://dev.eclipse.org/svnroot/rt/org.eclipse.jetty/jetty/trunk@298 7e9141cc-0065-0410-87d8-b60c137991c4
This commit is contained in:
Greg Wilkins 2009-05-27 01:53:44 +00:00
parent ce4682e151
commit 4f83801178
4 changed files with 17 additions and 4 deletions

View File

@ -6,7 +6,7 @@
<version>7.0.0.M3-SNAPSHOT</version> <version>7.0.0.M3-SNAPSHOT</version>
</parent> </parent>
<artifactId>jetty-distribution</artifactId> <artifactId>jetty-distribution</artifactId>
<name>Distribution Assemblies</name> <name>Jetty :: Distribution Assemblies</name>
<packaging>pom</packaging> <packaging>pom</packaging>
<properties> <properties>
<assembly.directory>target/distribution</assembly.directory> <assembly.directory>target/distribution</assembly.directory>

View File

@ -6,7 +6,7 @@
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>jetty-start</artifactId> <artifactId>jetty-start</artifactId>
<name>Start</name> <name>Jetty :: Start</name>
<description>The start utility</description> <description>The start utility</description>
<build> <build>
<plugins> <plugins>

View File

@ -58,6 +58,7 @@ import java.util.StringTokenizer;
* ends with "/**" is a directory from which to recursively add all unconsidered jar and zip files. * ends with "/**" is a directory from which to recursively add all unconsidered jar and zip files.
* Containing = are used to assign system properties. * Containing = are used to assign system properties.
* Containing ~= are used to assign start properties. * Containing ~= are used to assign start properties.
* Containing /= are used to assign a canonical path.
* all other subjects are treated as files to be added to the classpath. * all other subjects are treated as files to be added to the classpath.
* *
* ${name} is expanded to a start property * ${name} is expanded to a start property
@ -493,13 +494,23 @@ public class Main
// Handle the subject // Handle the subject
if (subject.indexOf("~=")>0) if (subject.indexOf("~=")>0)
{ {
int i=file.indexOf("="); int i=file.indexOf("~=");
String property=file.substring(0,i); String property=file.substring(0,i);
String value=file.substring(i+1); String value=file.substring(i+2);
if (DEBUG) if (DEBUG)
System.err.println(" "+property+"~="+value); System.err.println(" "+property+"~="+value);
setProperty(property,value); setProperty(property,value);
} }
if (subject.indexOf("/=")>0)
{
int i=file.indexOf("/=");
String property=file.substring(0,i);
String value=file.substring(i+2);
String canonical=new File(value).getCanonicalPath();
if (DEBUG)
System.err.println(" "+property+"/="+value+"=="+canonical);
setProperty(property,canonical);
}
else if (subject.indexOf("=")>0) else if (subject.indexOf("=")>0)
{ {
int i=file.indexOf("="); int i=file.indexOf("=");

View File

@ -14,6 +14,7 @@
# ends with "/**" is a directory from which to recursively add all unconsidered jar and zip files. # ends with "/**" is a directory from which to recursively add all unconsidered jar and zip files.
# Containing = are used to assign system properties. # Containing = are used to assign system properties.
# Containing ~= are used to assign start properties. # Containing ~= are used to assign start properties.
# Containing /= are used to assign a canonical path.
# all other subjects are treated as files to be added to the classpath. # all other subjects are treated as files to be added to the classpath.
# #
# ${name} is expanded to a start property # ${name} is expanded to a start property
@ -65,6 +66,7 @@ jetty.home=.. ! exists $(jetty.home)/start.ja
jetty.home=jetty-distribution/src/main/resources ! exists $(jetty.home)/start.jar jetty.home=jetty-distribution/src/main/resources ! exists $(jetty.home)/start.jar
jetty.home=../jetty-distribution/src/main/resources ! exists $(jetty.home)/start.jar jetty.home=../jetty-distribution/src/main/resources ! exists $(jetty.home)/start.jar
jetty.home=. ! exists $(jetty.home)/start.jar jetty.home=. ! exists $(jetty.home)/start.jar
jetty.home/=$(jetty.home) exists $(jetty.home)/start.jar
# The main class to run # The main class to run
org.eclipse.jetty.xml.XmlConfiguration.class org.eclipse.jetty.xml.XmlConfiguration.class