423739 Start checks module files.
At runtime, required modules files are checked. Either a warning is generated or they are downloaded/create if --download or --create is specified.
This commit is contained in:
parent
0ac021b6fd
commit
a12ad15a2c
|
@ -3,13 +3,35 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
[files]
|
[files]
|
||||||
http://repo1.maven.org/maven2/org/mortbay/jetty/npn/npn-boot/1.1.6.v20130911/npn-boot-1.1.6.v20130911.jar:lib/npn/npn-boot-1.1.6.v20130911.jar
|
${switch java.version
|
||||||
|
1.7.0_9: http://repo1.maven.org/maven2/org/mortbay/jetty/npn/npn-boot/1.1.3.v20130313/npn-boot-1.1.3.v20130313.jar:lib/npn/npn-boot-1.1.3.v20130313.jar
|
||||||
|
1.7.0_10: http://repo1.maven.org/maven2/org/mortbay/jetty/npn/npn-boot/1.1.3.v20130313/npn-boot-1.1.3.v20130313.jar:lib/npn/npn-boot-1.1.3.v20130313.jar
|
||||||
|
1.7.0_11: http://repo1.maven.org/maven2/org/mortbay/jetty/npn/npn-boot/1.1.3.v20130313/npn-boot-1.1.3.v20130313.jar:lib/npn/npn-boot-1.1.3.v20130313.jar
|
||||||
|
1.7.0_13: http://repo1.maven.org/maven2/org/mortbay/jetty/npn/npn-boot/1.1.4.v20130313/npn-boot-1.1.4.v20130313.jar:lib/npn/npn-boot-1.1.4.v20130313.jar
|
||||||
|
1.7.0_15: http://repo1.maven.org/maven2/org/mortbay/jetty/npn/npn-boot/1.1.5.v20130313/npn-boot-1.1.5.v20130313.jar:lib/npn/npn-boot-1.1.5.v20130313.jar
|
||||||
|
1.7.0_17: http://repo1.maven.org/maven2/org/mortbay/jetty/npn/npn-boot/1.1.5.v20130313/npn-boot-1.1.5.v20130313.jar:lib/npn/npn-boot-1.1.5.v20130313.jar
|
||||||
|
1.7.0_21: http://repo1.maven.org/maven2/org/mortbay/jetty/npn/npn-boot/1.1.5.v20130313/npn-boot-1.1.5.v20130313.jar:lib/npn/npn-boot-1.1.5.v20130313.jar
|
||||||
|
1.7.0_25: http://repo1.maven.org/maven2/org/mortbay/jetty/npn/npn-boot/1.1.5.v20130313/npn-boot-1.1.5.v20130313.jar:lib/npn/npn-boot-1.1.5.v20130313.jar
|
||||||
|
1.7.0_40: http://repo1.maven.org/maven2/org/mortbay/jetty/npn/npn-boot/1.1.6.v20130911/npn-boot-1.1.6.v20130911.jar:lib/npn/npn-boot-1.1.6.v20130911.jar
|
||||||
|
1.7.0_45: http://repo1.maven.org/maven2/org/mortbay/jetty/npn/npn-boot/1.1.6.v20130911/npn-boot-1.1.6.v20130911.jar:lib/npn/npn-boot-1.1.6.v20130911.jar
|
||||||
|
*: http://repo1.maven.org/maven2/org/mortbay/jetty/npn/npn-boot/1.1.6.v20130911/npn-boot-1.1.6.v20130911.jar:lib/npn/npn-boot-1.1.6.v20130911.jar
|
||||||
|
}
|
||||||
|
|
||||||
[ini-template]
|
[ini-template]
|
||||||
# NPN Configuration
|
|
||||||
# NPN boot jar for JRE 1.7.0_45
|
|
||||||
--exec
|
--exec
|
||||||
-Xbootclasspath/p:lib/npn/npn-boot-1.1.6.v20130911.jar
|
${switch java.version
|
||||||
|
1.7.0_9: -Xbootclasspath/p:lib/npn/npn-boot-1.1.3.v20130313.jar
|
||||||
|
1.7.0_10: -Xbootclasspath/p:lib/npn/npn-boot-1.1.3.v20130313.jar
|
||||||
|
1.7.0_11: -Xbootclasspath/p:lib/npn/npn-boot-1.1.3.v20130313.jar
|
||||||
|
1.7.0_13: -Xbootclasspath/p:lib/npn/npn-boot-1.1.4.v20130313.jar
|
||||||
|
1.7.0_15: -Xbootclasspath/p:lib/npn/npn-boot-1.1.5.v20130313.jar
|
||||||
|
1.7.0_17: -Xbootclasspath/p:lib/npn/npn-boot-1.1.5.v20130313.jar
|
||||||
|
1.7.0_21: -Xbootclasspath/p:lib/npn/npn-boot-1.1.5.v20130313.jar
|
||||||
|
1.7.0_25: -Xbootclasspath/p:lib/npn/npn-boot-1.1.5.v20130313.jar
|
||||||
|
1.7.0_40: -Xbootclasspath/p:lib/npn/npn-boot-1.1.6.v20130911.jar
|
||||||
|
1.7.0_45: -Xbootclasspath/p:lib/npn/npn-boot-1.1.6.v20130911.jar
|
||||||
|
*: -Xbootclasspath/p:lib/npn/npn-boot-1.1.6.v20130911.jar
|
||||||
|
}
|
||||||
|
|
||||||
# For other versions of JRE, an appropriate npn-boot jar must be downloaded
|
# For other versions of JRE, an appropriate npn-boot jar must be downloaded
|
||||||
#
|
#
|
||||||
|
|
|
@ -661,6 +661,24 @@ public class Main
|
||||||
moduleIni(args,module,true,false);
|
moduleIni(args,module,true,false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Check files
|
||||||
|
for (FileArg arg : args.getFiles())
|
||||||
|
{
|
||||||
|
File file = baseHome.getBaseFile(arg.location);
|
||||||
|
if (!file.exists() && args.isDownload())
|
||||||
|
initFile(arg);
|
||||||
|
|
||||||
|
if (!file.exists())
|
||||||
|
{
|
||||||
|
args.setRun(false);
|
||||||
|
String type=arg.location.endsWith("/")?"directory":"file";
|
||||||
|
if (arg.uri==null)
|
||||||
|
StartLog.warn("Required %s '%s' does not exist. Run with --create",type,baseHome.toShortForm(file));
|
||||||
|
else
|
||||||
|
StartLog.warn("Required %s '%s' not downloaded from %s. Run with --download",type,baseHome.toShortForm(file),arg.uri);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Informational command line, don't run jetty
|
// Informational command line, don't run jetty
|
||||||
if (!args.isRun())
|
if (!args.isRun())
|
||||||
{
|
{
|
||||||
|
|
|
@ -260,9 +260,37 @@ public class Module
|
||||||
{
|
{
|
||||||
String line;
|
String line;
|
||||||
String sectionType = "";
|
String sectionType = "";
|
||||||
|
String caseTag = null;
|
||||||
|
boolean switched = false;
|
||||||
while ((line = buf.readLine()) != null)
|
while ((line = buf.readLine()) != null)
|
||||||
{
|
{
|
||||||
line = line.trim();
|
line = line.trim();
|
||||||
|
|
||||||
|
if (caseTag!=null)
|
||||||
|
{
|
||||||
|
if ("}".equals(line))
|
||||||
|
{
|
||||||
|
caseTag=null;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (switched)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (!line.startsWith(caseTag) && !line.startsWith("*:"))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
switched=true;
|
||||||
|
line=line.substring(line.indexOf(':')+1).trim();
|
||||||
|
}
|
||||||
|
else if (line.startsWith("${switch "))
|
||||||
|
{
|
||||||
|
switched=false;
|
||||||
|
caseTag=line.substring(9).trim();
|
||||||
|
caseTag=System.getProperty(caseTag)+":";
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
Matcher sectionMatcher = section.matcher(line);
|
Matcher sectionMatcher = section.matcher(line);
|
||||||
|
|
||||||
if (sectionMatcher.matches())
|
if (sectionMatcher.matches())
|
||||||
|
|
|
@ -85,6 +85,7 @@ public class StartArgs
|
||||||
private Modules allModules;
|
private Modules allModules;
|
||||||
// Should the server be run?
|
// Should the server be run?
|
||||||
private boolean run = true;
|
private boolean run = true;
|
||||||
|
private boolean download = false;
|
||||||
private boolean help = false;
|
private boolean help = false;
|
||||||
private boolean stopCommand = false;
|
private boolean stopCommand = false;
|
||||||
private boolean listModules = false;
|
private boolean listModules = false;
|
||||||
|
@ -533,7 +534,12 @@ public class StartArgs
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isDownload()
|
||||||
|
{
|
||||||
|
return download;
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isDryRun()
|
public boolean isDryRun()
|
||||||
{
|
{
|
||||||
return dryRun;
|
return dryRun;
|
||||||
|
@ -564,6 +570,11 @@ public class StartArgs
|
||||||
return listModules;
|
return listModules;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setRun(boolean run)
|
||||||
|
{
|
||||||
|
this.run = run;
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isRun()
|
public boolean isRun()
|
||||||
{
|
{
|
||||||
return run;
|
return run;
|
||||||
|
@ -647,6 +658,15 @@ public class StartArgs
|
||||||
if (arg.startsWith("--download="))
|
if (arg.startsWith("--download="))
|
||||||
{
|
{
|
||||||
addFile(getValue(arg));
|
addFile(getValue(arg));
|
||||||
|
run=false;
|
||||||
|
download=true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (arg.equals("--download") || arg.equals("--create"))
|
||||||
|
{
|
||||||
|
run=false;
|
||||||
|
download=true;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -864,4 +884,5 @@ public class StartArgs
|
||||||
builder.append("]");
|
builder.append("]");
|
||||||
return builder.toString();
|
return builder.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -93,6 +93,12 @@ Module Management:
|
||||||
exists for the active ${jetty.base}.
|
exists for the active ${jetty.base}.
|
||||||
See http://graphviz.org/ for details on how to post-process
|
See http://graphviz.org/ for details on how to post-process
|
||||||
this file into the output best suited for your needs.
|
this file into the output best suited for your needs.
|
||||||
|
|
||||||
|
--download Download or create any missing files/directories that are
|
||||||
|
required by initialised modules.
|
||||||
|
|
||||||
|
--create Download or create any missing files/directories that are
|
||||||
|
required by initialised modules.
|
||||||
|
|
||||||
|
|
||||||
Startup / Shutdown Command Line:
|
Startup / Shutdown Command Line:
|
||||||
|
|
Loading…
Reference in New Issue