diff options
author | Maria Odea B. Ching <oching@apache.org> | 2008-02-29 07:08:03 +0000 |
---|---|---|
committer | Maria Odea B. Ching <oching@apache.org> | 2008-02-29 07:08:03 +0000 |
commit | 3a680c50b495abc68f84eb8ba19e21bd07b57355 (patch) | |
tree | 315fa9bf3867f70800c3bd143f004b7fb0991a69 /archiva-web | |
parent | 6d7b2f3457b81f26021ec8a98a588332ee7439bd (diff) | |
download | archiva-3a680c50b495abc68f84eb8ba19e21bd07b57355.tar.gz archiva-3a680c50b495abc68f84eb8ba19e21bd07b57355.zip |
[MRM-688]
-added module that generates the archiva jetty standalone bundle
git-svn-id: https://svn.apache.org/repos/asf/maven/archiva/trunk@632245 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'archiva-web')
8 files changed, 1100 insertions, 0 deletions
diff --git a/archiva-web/archiva-standalone/archiva-jetty-archetype/pom.xml b/archiva-web/archiva-standalone/archiva-jetty-archetype/pom.xml new file mode 100644 index 000000000..2fc061921 --- /dev/null +++ b/archiva-web/archiva-standalone/archiva-jetty-archetype/pom.xml @@ -0,0 +1,218 @@ +<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"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.maven.archiva</groupId> + <artifactId>archiva-web-standalone</artifactId> + <version>1.1-SNAPSHOT</version> + </parent> + <artifactId>archiva-jetty-archetype</artifactId> +<!-- Bug in appassembler prevents using a purely attached assembly + <packaging>pom</packaging> +--> + <name>Archiva Web :: Jetty Archetype</name> + <dependencies> + <dependency> + <groupId>org.mortbay.jetty</groupId> + <artifactId>jetty</artifactId> + <version>6.1.6</version> + </dependency> + <dependency> + <groupId>org.mortbay.jetty</groupId> + <artifactId>start</artifactId> + <version>6.1.6</version> + </dependency> +<!-- Include a webapp you want to bundle --> + <dependency> + <groupId>org.apache.maven.archiva</groupId> + <artifactId>archiva-webapp</artifactId> + <!-- <version>1.1-SNAPSHOT</version> --> + <type>war</type> + </dependency> + <dependency> + <groupId>org.apache.maven.archiva</groupId> + <artifactId>archiva-docs</artifactId> + <type>zip</type> + <classifier>docs</classifier> + </dependency> + <!-- Runtime dependencies that need to be included in the generated binaries --> + <dependency> + <groupId>org.mortbay.jetty</groupId> + <artifactId>jetty-naming</artifactId> + <version>6.1.6</version> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>org.mortbay.jetty</groupId> + <artifactId>servlet-api-2.5</artifactId> + <version>6.1.6</version> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>org.mortbay.jetty</groupId> + <artifactId>jsp-api-2.0</artifactId> + <version>6.1.6</version> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>org.mortbay.jetty</groupId> + <artifactId>jetty-plus</artifactId> + <version>6.1.6</version> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>org.apache.derby</groupId> + <artifactId>derby</artifactId> + <version>10.1.3.1</version> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>javax.mail</groupId> + <artifactId>mail</artifactId> + <version>1.4</version> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>ant</groupId> + <artifactId>ant</artifactId> + <version>1.6.5</version> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>commons-el</groupId> + <artifactId>commons-el</artifactId> + <version>1.0</version> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>tomcat</groupId> + <artifactId>jasper-compiler</artifactId> + <version>5.5.15</version> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>tomcat</groupId> + <artifactId>jasper-compiler-jdt</artifactId> + <version>5.5.15</version> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>tomcat</groupId> + <artifactId>jasper-runtime</artifactId> + <version>5.5.15</version> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>jcl104-over-slf4j</artifactId> + <version>1.0.1</version> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-simple</artifactId> + <version>1.0.1</version> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>xerces</groupId> + <artifactId>xercesImpl</artifactId> + <version>2.6.2</version> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>xerces</groupId> + <artifactId>xmlParserAPIs</artifactId> + <version>2.6.2</version> + <scope>runtime</scope> + </dependency> + </dependencies> + <build> + <plugins> + <plugin> + <groupId>org.codehaus.mojo.appassembler</groupId> + <artifactId>appassembler-maven-plugin</artifactId> + <version>1.0-SNAPSHOT</version> + <configuration> + <daemons> + <daemon> + <id>archiva</id> + <mainClass>org.mortbay.start.Main</mainClass> + <commandLineArguments> + <commandLineArgument>etc/jetty.xml</commandLineArgument> + <commandLineArgument>etc/jetty-logging.xml</commandLineArgument> + </commandLineArguments> + <platforms> + <platform>jsw</platform> + </platforms> + <generatorConfigurations> + <generatorConfiguration> + <generator>jsw</generator> + <configuration> + <property> + <name>wrapper.console.loglevel</name> + <value>INFO</value> + </property> + </configuration> + </generatorConfiguration> + </generatorConfigurations> + </daemon> + </daemons> +<!-- TODO: +<repoPath>lib</repoPath> +--> + <repositoryLayout>flat</repositoryLayout> + <assembleDirectory>target/generated-resources/appassembler/jsw/archiva</assembleDirectory> + </configuration> + <executions> + <execution> + <goals> + <goal>generate-daemons</goal> + <goal>create-repository</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-assembly-plugin</artifactId> + <version>2.1</version> + <executions> + <execution> + <phase>package</phase> + <goals> + <goal>single</goal> + </goals> + </execution> + </executions> + <configuration> + <descriptor>src/main/assembly/bin.xml</descriptor> + <finalName>apache-archiva-${version}</finalName> + </configuration> + </plugin> + <plugin> + <artifactId>maven-antrun-plugin</artifactId> + <executions> + <execution> + <id>config</id> + <phase>process-resources</phase> + <configuration> + <tasks> + <copy todir="target/generated-resources/appassembler/jsw/archiva/conf"> + <fileset dir="src/main/appserver/conf" /> + </copy> + <copy todir="target/generated-resources/appassembler/jsw/archiva/etc"> + <fileset dir="src/main/etc" /> + </copy> + <mkdir dir="target/generated-resources/appassembler/jsw/archiva/logs"/> + </tasks> + </configuration> + <goals> + <goal>run</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> diff --git a/archiva-web/archiva-standalone/archiva-jetty-archetype/src/main/appserver/conf/archiva.xml b/archiva-web/archiva-standalone/archiva-jetty-archetype/src/main/appserver/conf/archiva.xml new file mode 100644 index 000000000..9afb83352 --- /dev/null +++ b/archiva-web/archiva-standalone/archiva-jetty-archetype/src/main/appserver/conf/archiva.xml @@ -0,0 +1 @@ +<configuration /> diff --git a/archiva-web/archiva-standalone/archiva-jetty-archetype/src/main/appserver/conf/shared.xml b/archiva-web/archiva-standalone/archiva-jetty-archetype/src/main/appserver/conf/shared.xml new file mode 100644 index 000000000..9afb83352 --- /dev/null +++ b/archiva-web/archiva-standalone/archiva-jetty-archetype/src/main/appserver/conf/shared.xml @@ -0,0 +1 @@ +<configuration /> diff --git a/archiva-web/archiva-standalone/archiva-jetty-archetype/src/main/assembly/bin.xml b/archiva-web/archiva-standalone/archiva-jetty-archetype/src/main/assembly/bin.xml new file mode 100644 index 000000000..c28651673 --- /dev/null +++ b/archiva-web/archiva-standalone/archiva-jetty-archetype/src/main/assembly/bin.xml @@ -0,0 +1,117 @@ +<!-- + ~ Licensed to the Apache Software Foundation (ASF) under one + ~ or more contributor license agreements. See the NOTICE file + ~ distributed with this work for additional information + ~ regarding copyright ownership. The ASF licenses this file + ~ to you under the Apache License, Version 2.0 (the + ~ "License"); you may not use this file except in compliance + ~ with the License. You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, + ~ software distributed under the License is distributed on an + ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + ~ KIND, either express or implied. See the License for the + ~ specific language governing permissions and limitations + ~ under the License. + --> + +<assembly> + <id>bin</id> + <formats> + <format>tar.gz</format> + <format>zip</format> + </formats> + <fileSets> + <fileSet> + <directory>target/generated-resources/appassembler/jsw/archiva/apps</directory> + <outputDirectory>apps</outputDirectory> + </fileSet> + <fileSet> + <directory>target/generated-resources/appassembler/jsw/archiva/conf</directory> + <outputDirectory>conf</outputDirectory> + </fileSet> + <fileSet> + <directory>target/generated-resources/appassembler/jsw/archiva/repo</directory> + <outputDirectory>repo</outputDirectory> + <fileMode>0755</fileMode> + </fileSet> + <fileSet> + <directory>target/generated-resources/appassembler/jsw/archiva/lib</directory> + <outputDirectory>lib</outputDirectory> + <fileMode>0755</fileMode> + </fileSet> + <fileSet> + <directory>target/generated-resources/appassembler/jsw/archiva/logs</directory> + <outputDirectory>logs</outputDirectory> + </fileSet> + <fileSet> + <directory>target/generated-resources/appassembler/jsw/archiva/services</directory> + <outputDirectory>services</outputDirectory> + </fileSet> + <fileSet> + <directory>target/generated-resources/appassembler/jsw/archiva/etc</directory> + <outputDirectory>etc</outputDirectory> + <includes> + <include>**/jetty.xml</include> + <include>**/jetty-logging.xml</include> + <include>**/webdefault.xml</include> + <include>**/realm.properties</include> + </includes> + </fileSet> + <fileSet> + <directory>target/generated-resources/appassembler/jsw/archiva/bin</directory> + <outputDirectory>bin</outputDirectory> + <includes> + <include>*/wrapper.conf</include> + </includes> + </fileSet> + <fileSet> + <directory>target/generated-resources/appassembler/jsw/archiva/bin</directory> + <outputDirectory>bin</outputDirectory> + <includes> + <include>**/archiva</include> + <include>**/wrapper-linux-x86-32</include> + <include>**/wrapper-macosx-universal-32</include> + <include>**/wrapper-solaris-x86-32</include> + </includes> + <fileMode>0755</fileMode> + <lineEnding>unix</lineEnding> + </fileSet> + <fileSet> + <directory>target/generated-resources/appassembler/jsw/archiva/bin</directory> + <outputDirectory>bin</outputDirectory> + <includes> + <include>**/*.bat</include> + <include>**/wrapper-windows-x86-32.exe</include> + </includes> + <fileMode>0755</fileMode> + <lineEnding>dos</lineEnding> + </fileSet> + <fileSet> + <directory>target/maven-shared-archive-resources/META-INF/</directory> + <outputDirectory>/</outputDirectory> + <includes> + <include>NOTICE</include> + <include>LICENSE</include> + </includes> + </fileSet> + </fileSets> + <dependencySets> + <dependencySet> + <unpack>false</unpack> + <outputDirectory>apps/archiva</outputDirectory> + <includes> + <include>org.apache.maven.archiva:archiva-webapp</include> + </includes> + </dependencySet> + <dependencySet> + <unpack>true</unpack> + <includes> + <include>org.apache.maven.archiva:archiva-docs:zip:docs</include> + </includes> + </dependencySet> + </dependencySets> +</assembly> + diff --git a/archiva-web/archiva-standalone/archiva-jetty-archetype/src/main/etc/jetty-logging.xml b/archiva-web/archiva-standalone/archiva-jetty-archetype/src/main/etc/jetty-logging.xml new file mode 100644 index 000000000..0a1c292d0 --- /dev/null +++ b/archiva-web/archiva-standalone/archiva-jetty-archetype/src/main/etc/jetty-logging.xml @@ -0,0 +1,32 @@ +<?xml version="1.0"?> +<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd"> + + +<!-- =============================================================== --> +<!-- Configure stderr and stdout to a Jetty rollover log file --> +<!-- this configuration file should be used in combination with --> +<!-- other configuration files. e.g. --> +<!-- java -jar start.jar etc/jetty-logging.xml etc/jetty.xml --> +<!-- =============================================================== --> +<Configure id="Server" class="org.mortbay.jetty.Server"> + + <New id="ServerLog" class="java.io.PrintStream"> + <Arg> + <New class="org.mortbay.util.RolloverFileOutputStream"> + <Arg><SystemProperty name="jetty.home" default="."/>/logs/yyyy_mm_dd.stderrout.log</Arg> + <Arg type="boolean">false</Arg> + <Arg type="int">90</Arg> + <Arg><Call class="java.util.TimeZone" name="getTimeZone"><Arg>GMT</Arg></Call></Arg> + <Get id="ServerLogName" name="datedFilename"/> + </New> + </Arg> + </New> + + <Call class="org.mortbay.log.Log" name="info"><Arg>Redirecting stderr/stdout to <Ref id="ServerLogName"/></Arg></Call> + <Call class="java.lang.System" name="setErr"><Arg><Ref id="ServerLog"/></Arg></Call> + <Call class="java.lang.System" name="setOut"><Arg><Ref id="ServerLog"/></Arg></Call> + +</Configure> + + + diff --git a/archiva-web/archiva-standalone/archiva-jetty-archetype/src/main/etc/jetty.xml b/archiva-web/archiva-standalone/archiva-jetty-archetype/src/main/etc/jetty.xml new file mode 100644 index 000000000..99970df20 --- /dev/null +++ b/archiva-web/archiva-standalone/archiva-jetty-archetype/src/main/etc/jetty.xml @@ -0,0 +1,308 @@ +<?xml version="1.0"?> +<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd"> +<!-- + ~ Licensed to the Apache Software Foundation (ASF) under one + ~ or more contributor license agreements. See the NOTICE file + ~ distributed with this work for additional information + ~ regarding copyright ownership. The ASF licenses this file + ~ to you under the Apache License, Version 2.0 (the + ~ "License"); you may not use this file except in compliance + ~ with the License. You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, + ~ software distributed under the License is distributed on an + ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + ~ KIND, either express or implied. See the License for the + ~ specific language governing permissions and limitations + ~ under the License. + --> + +<!-- =============================================================== --> +<!-- Configure the Jetty Server --> +<!-- --> +<!-- Documentation of this file format can be found at: --> +<!-- http://docs.codehaus.org/display/JETTY/jetty.xml --> +<!-- --> +<!-- =============================================================== --> + + +<Configure id="Server" class="org.mortbay.jetty.Server"> + + <!-- =========================================================== --> + <!-- Server Thread Pool --> + <!-- =========================================================== --> + <Set name="ThreadPool"> + <!-- Default bounded blocking threadpool + --> + <New class="org.mortbay.thread.BoundedThreadPool"> + <Set name="minThreads">10</Set> + <Set name="maxThreads">250</Set> + <Set name="lowThreads">25</Set> + </New> + + <!-- Optional Java 5 bounded threadpool with job queue + <New class="org.mortbay.thread.concurrent.ThreadPool"> + <Set name="corePoolSize">250</Set> + <Set name="maximumPoolSize">250</Set> + </New> + --> + </Set> + + + + <!-- =========================================================== --> + <!-- Set connectors --> + <!-- =========================================================== --> + <!-- One of each type! --> + <!-- =========================================================== --> + + <!-- Use this connector for many frequently idle connections + and for threadless continuations. + --> + <Call name="addConnector"> + <Arg> + <New class="org.mortbay.jetty.nio.SelectChannelConnector"> + <Set name="host"><SystemProperty name="jetty.host" /></Set> + <Set name="port"><SystemProperty name="jetty.port" default="8080"/></Set> + <Set name="maxIdleTime">30000</Set> + <Set name="Acceptors">2</Set> + <Set name="statsOn">false</Set> + <Set name="confidentialPort">8443</Set> + <Set name="lowResourcesConnections">5000</Set> + <Set name="lowResourcesMaxIdleTime">5000</Set> + </New> + </Arg> + </Call> + + <!-- Use this connector if NIO is not available. + <Call name="addConnector"> + <Arg> + <New class="org.mortbay.jetty.bio.SocketConnector"> + <Set name="port">8081</Set> + <Set name="maxIdleTime">50000</Set> + <Set name="lowResourceMaxIdleTime">1500</Set> + </New> + </Arg> + </Call> + --> + + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <!-- To add a HTTPS SSL listener --> + <!-- see jetty-ssl.xml to add an ssl connector. use --> + <!-- java -jar start.jar etc/jetty.xml etc/jetty-ssl.xml --> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + + <!-- =========================================================== --> + <!-- Set up global session ID manager --> + <!-- =========================================================== --> + <!-- + <Set name="sessionIdManager"> + <New class="org.mortbay.jetty.servlet.HashSessionIdManager"> + <Set name="workerName">node1</Set> + </New> + </Set> + --> + + <!-- =========================================================== --> + <!-- Set handler Collection Structure --> + <!-- =========================================================== --> + <Set name="handler"> + <New id="Handlers" class="org.mortbay.jetty.handler.HandlerCollection"> + <Set name="handlers"> + <Array type="org.mortbay.jetty.Handler"> + <Item> + <New id="Contexts" class="org.mortbay.jetty.handler.ContextHandlerCollection"/> + </Item> + <Item> + <New id="DefaultHandler" class="org.mortbay.jetty.handler.DefaultHandler"/> + </Item> + <Item> + <New id="RequestLog" class="org.mortbay.jetty.handler.RequestLogHandler"/> + </Item> + </Array> + </Set> + </New> + </Set> + + <!-- =========================================================== --> + <!-- Configure the context deployer --> + <!-- A context deployer will deploy contexts described in --> + <!-- configuration files discovered in a directory. --> + <!-- The configuration directory can be scanned for hot --> + <!-- deployments at the configured scanInterval. --> + <!-- --> + <!-- This deployer is configured to deploy contexts configured --> + <!-- in the $JETTY_HOME/contexts directory --> + <!-- --> + <!-- =========================================================== --> + <Call name="addLifeCycle"> + <Arg> + <New class="org.mortbay.jetty.deployer.ContextDeployer"> + <Set name="contexts"><Ref id="Contexts"/></Set> + <Set name="configurationDir"><SystemProperty name="jetty.home" default="."/>/contexts</Set> + <Set name="scanInterval">1</Set> + </New> + </Arg> + </Call> + + <!-- =========================================================== --> + <!-- Configure the webapp deployer. --> + <!-- A webapp deployer will deploy standard webapps discovered --> + <!-- in a directory at startup, without the need for additional --> + <!-- configuration files. It does not support hot deploy or --> + <!-- non standard contexts (see ContextDeployer above). --> + <!-- --> + <!-- This deployer is configured to deploy webapps from the --> + <!-- $JETTY_HOME/webapps directory --> + <!-- --> + <!-- Normally only one type of deployer need be used. --> + <!-- --> + <!-- =========================================================== --> + <Call name="addLifeCycle"> + <Arg> + <New class="org.mortbay.jetty.deployer.WebAppDeployer"> + <Set name="contexts"><Ref id="Contexts"/></Set> + <Set name="webAppDir"><SystemProperty name="jetty.home" default="."/>/apps</Set> + <Set name="parentLoaderPriority">false</Set> + <Set name="extract">true</Set> + <Set name="allowDuplicates">false</Set> + <Set name="defaultsDescriptor"><SystemProperty name="jetty.home" default="."/>/etc/webdefault.xml</Set> + </New> + </Arg> + </Call> + + <!-- =========================================================== --> + <!-- Configure Authentication Realms --> + <!-- Realms may be configured for the entire server here, or --> + <!-- they can be configured for a specific web app in a context --> + <!-- configuration (see $(jetty.home)/contexts/test.xml for an --> + <!-- example). --> + <!-- =========================================================== --> + <Set name="UserRealms"> + <Array type="org.mortbay.jetty.security.UserRealm"> + <Item> + <New class="org.mortbay.jetty.security.HashUserRealm"> + <Set name="name">Test Realm</Set> + <Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/realm.properties</Set> + <Set name="refreshInterval">0</Set> + </New> + </Item> + </Array> + </Set> + + <!-- =========================================================== --> + <!-- Configure Request Log --> + <!-- Request logs may be configured for the entire server here, --> + <!-- or they can be configured for a specific web app in a --> + <!-- contexts configuration (see $(jetty.home)/contexts/test.xml --> + <!-- for an example). --> + <!-- =========================================================== --> + <Ref id="RequestLog"> + <Set name="requestLog"> + <New id="RequestLogImpl" class="org.mortbay.jetty.NCSARequestLog"> + <Set name="filename"><SystemProperty name="jetty.logs" default="./logs"/>/yyyy_mm_dd.request.log</Set> + <Set name="filenameDateFormat">yyyy_MM_dd</Set> + <Set name="retainDays">90</Set> + <Set name="append">true</Set> + <Set name="extended">true</Set> + <Set name="logCookies">false</Set> + <Set name="LogTimeZone">GMT</Set> + </New> + </Set> + </Ref> + + <!-- =========================================================== --> + <!-- extra options --> + <!-- =========================================================== --> + <Set name="stopAtShutdown">true</Set> + <Set name="sendServerVersion">true</Set> + <Set name="sendDateHeader">true</Set> + <Set name="gracefulShutdown">1000</Set> + + + + <!-- =========================================================== --> + <!-- JNDI java:comp/env --> + <!-- To use JNDI with Jetty, you will need to tell your --> + <!-- WebAppContext to process the naming related items in --> + <!-- web.xml. For an example of how to do that, see the test --> + <!-- webapp below. More information can be found at --> + <!-- http://docs.codehaus.org/display/JETTY/Jetty+Wiki --> + <!-- =========================================================== --> + + + <!-- Configuring <resource-ref> and <resource-env-ref>s --> + <!-- --> + <!-- The following are examples of setting up a resource that --> + <!-- can be referenced in a web.xml file as a <resource-ref> or --> + <!-- a <resource-env-ref>. The first argument is the name of the --> + <!-- resource relative to java:comp/env and must be the SAME as --> + <!-- the <res-ref-name> or <resource-env-ref-name> in web.xml. --> + <!-- The second argument is the construction of the resource --> + <!-- object. Any object at all can be configured. --> + + + <!-- These examples set up a javax.sql.DataSource around an --> + <!-- XADataSource that is provided by the Derby relational db. --> + <!-- The DataSource wrapper that is registered in JNDI is --> + <!-- provided by Atomikos, and works with the Atomikos --> + <!-- transaction manager configured further below. To use these --> + <!-- examples, download Atomikos http://www.atomikos.com and --> + <!-- Derby http://db.apache.org/derby --> + + + <!-- Configuring Transactions --> + <!-- --> + <!-- The following is a example of a setting up a JTA --> + <!-- transaction manager that can be referenced by looking up --> + <!-- java:comp/UserTransaction. Note that this is just an --> + <!-- example and if you uncomment it, you will need to download --> + <!-- the atomikos jar (see http://www.atomikos.com/download.html)--> + <!-- You can configure any transaction manager that implements --> + <!-- javax.transaction.UserTransaction. --> + + + + <!-- =========================================================== --> + <!-- Example JAAS realm setup. --> + <!-- The LoginModuleName must be exactly the same as in the --> + <!-- login.conf file, and the realm Name must be the same as in --> + <!-- the web.xml file. --> + <!-- =========================================================== --> + <Call name="addUserRealm"> + <Arg> + <New class="org.mortbay.jetty.plus.jaas.JAASUserRealm"> + <Set name="name">xyzrealm</Set> + <Set name="LoginModuleName">xyz</Set> + </New> + </Arg> + </Call> + + + <!-- =========================================================== --> + <!-- Configurations for WebAppContexts --> + <!-- Sequence of configurations to be applied to a webapp. --> + <!-- =========================================================== --> + <Array id="plusConfig" type="java.lang.String"> + <Item>org.mortbay.jetty.webapp.WebInfConfiguration</Item> + <Item>org.mortbay.jetty.plus.webapp.EnvConfiguration</Item> + <Item>org.mortbay.jetty.plus.webapp.Configuration</Item> + <Item>org.mortbay.jetty.webapp.JettyWebXmlConfiguration</Item> + <Item>org.mortbay.jetty.webapp.TagLibConfiguration</Item> + </Array> + + <!-- =========================================================== --> + <!-- Deploy all webapps in webapps-plus --> + <!-- =========================================================== --> + <Call class="org.mortbay.jetty.webapp.WebAppContext" name="addWebApplications"> + <Arg><Ref id="Contexts"/></Arg> + <Arg>./apps</Arg> + <Arg>org/mortbay/jetty/webapp/webdefault.xml</Arg> + <Arg><Ref id="plusConfig"/></Arg> + <Arg type="boolean">True</Arg> + <Arg type="boolean">False</Arg> + </Call> + +</Configure> diff --git a/archiva-web/archiva-standalone/archiva-jetty-archetype/src/main/etc/realm.properties b/archiva-web/archiva-standalone/archiva-jetty-archetype/src/main/etc/realm.properties new file mode 100644 index 000000000..f9e4e7fa3 --- /dev/null +++ b/archiva-web/archiva-standalone/archiva-jetty-archetype/src/main/etc/realm.properties @@ -0,0 +1,21 @@ +# +# This file defines users passwords and roles for a HashUserRealm +# +# The format is +# <username>: <password>[,<rolename> ...] +# +# Passwords may be clear text, obfuscated or checksummed. The class +# org.mortbay.util.Password should be used to generate obfuscated +# passwords or password checksums +# +# If DIGEST Authentication is used, the password must be in a recoverable +# format, either plain text or OBF:. +# +jetty: MD5:164c88b302622e17050af52c89945d44,user +admin: CRYPT:ad1ks..kc.1Ug,server-administrator,content-administrator,admin +other: OBF:1xmk1w261u9r1w1c1xmq +plain: plain +user: password + +# This entry is for digest auth. The credential is a MD5 hash of username:realmname:password +digest: MD5:6e120743ad67abfbc385bc2bb754e297 diff --git a/archiva-web/archiva-standalone/archiva-jetty-archetype/src/main/etc/webdefault.xml b/archiva-web/archiva-standalone/archiva-jetty-archetype/src/main/etc/webdefault.xml new file mode 100644 index 000000000..df9fa1739 --- /dev/null +++ b/archiva-web/archiva-standalone/archiva-jetty-archetype/src/main/etc/webdefault.xml @@ -0,0 +1,402 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> + +<!-- ===================================================================== --> +<!-- This file contains the default descriptor for web applications. --> +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> +<!-- The intent of this descriptor is to include jetty specific or common --> +<!-- configuration for all webapps. If a context has a webdefault.xml --> +<!-- descriptor, it is applied before the contexts own web.xml file --> +<!-- --> +<!-- A context may be assigned a default descriptor by: --> +<!-- + Calling WebApplicationContext.setDefaultsDescriptor --> +<!-- + Passed an arg to addWebApplications --> +<!-- --> +<!-- This file is used both as the resource within the jetty.jar (which is --> +<!-- used as the default if no explicit defaults descriptor is set) and it --> +<!-- is copied to the etc directory of the Jetty distro and explicitly --> +<!-- by the jetty.xml file. --> +<!-- --> +<!-- ===================================================================== --> +<web-app + xmlns="http://java.sun.com/xml/ns/javaee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" + metadata-complete="true" + version="2.5"> + + <description> + Default web.xml file. + This file is applied to a Web application before it's own WEB_INF/web.xml file + </description> + + + <!-- ==================================================================== --> + <!-- Context params to control Session Cookies --> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <!-- UNCOMMENT TO ACTIVATE + <context-param> + <param-name>org.mortbay.jetty.servlet.SessionDomain</param-name> + <param-value>127.0.0.1</param-value> + </context-param> + + <context-param> + <param-name>org.mortbay.jetty.servlet.SessionPath</param-name> + <param-value>/</param-value> + </context-param> + + <context-param> + <param-name>org.mortbay.jetty.servlet.MaxAge</param-name> + <param-value>-1</param-value> + </context-param> + --> + + <context-param> + <param-name>org.mortbay.jetty.webapp.NoTLDJarPattern</param-name> + <param-value>start.jar|ant-.*\.jar|dojo-.*\.jar|jetty-.*\.jar|jsp-api-.*\.jar|junit-.*\.jar|servlet-api-.*\.jar|dnsns\.jar|rt\.jar|jsse\.jar|tools\.jar|sunpkcs11\.jar|sunjce_provider\.jar|xerces.*\.jar</param-value> + </context-param> + + + + <!-- ==================================================================== --> + <!-- The default servlet. --> + <!-- This servlet, normally mapped to /, provides the handling for static --> + <!-- content, OPTIONS and TRACE methods for the context. --> + <!-- The following initParameters are supported: --> + <!-- --> + <!-- acceptRanges If true, range requests and responses are --> + <!-- supported --> + <!-- --> + <!-- dirAllowed If true, directory listings are returned if no --> + <!-- welcome file is found. Else 403 Forbidden. --> + <!-- --> + <!-- redirectWelcome If true, redirect welcome file requests --> + <!-- else use request dispatcher forwards --> + <!-- --> + <!-- gzip If set to true, then static content will be served--> + <!-- as gzip content encoded if a matching resource is --> + <!-- found ending with ".gz" --> + <!-- --> + <!-- resoureBase Can be set to replace the context resource base --> + <!-- --> + <!-- relativeResourceBase --> + <!-- Set with a pathname relative to the base of the --> + <!-- servlet context root. Useful for only serving --> + <!-- static content from only specific subdirectories. --> + <!-- --> + <!-- useFileMappedBuffer --> + <!-- If set to true (the default), a memory mapped --> + <!-- file buffer will be used to serve static content --> + <!-- when using an NIO connector. Setting this value --> + <!-- to false means that a direct buffer will be used --> + <!-- instead. If you are having trouble with Windows --> + <!-- file locking, set this to false. --> + <!-- --> + <!-- cacheControl If set, all static content will have this value --> + <!-- set as the cache-control header. --> + <!-- --> + <!-- maxCacheSize Maximum size of the static resource cache --> + <!-- --> + <!-- maxCachedFileSize Maximum size of any single file in the cache --> + <!-- --> + <!-- maxCachedFiles Maximum number of files in the cache --> + <!-- --> + <!-- cacheType "nio", "bio" or "both" to determine the type(s) --> + <!-- of resource cache. A bio cached buffer may be used--> + <!-- by nio but is not as efficient as a nio buffer. --> + <!-- An nio cached buffer may not be used by bio. --> + <!-- --> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <servlet> + <servlet-name>default</servlet-name> + <servlet-class>org.mortbay.jetty.servlet.DefaultServlet</servlet-class> + <init-param> + <param-name>acceptRanges</param-name> + <param-value>true</param-value> + </init-param> + <init-param> + <param-name>dirAllowed</param-name> + <param-value>true</param-value> + </init-param> + <init-param> + <param-name>redirectWelcome</param-name> + <param-value>false</param-value> + </init-param> + <init-param> + <param-name>maxCacheSize</param-name> + <param-value>256000000</param-value> + </init-param> + <init-param> + <param-name>maxCachedFileSize</param-name> + <param-value>10000000</param-value> + </init-param> + <init-param> + <param-name>maxCachedFiles</param-name> + <param-value>1000</param-value> + </init-param> + <init-param> + <param-name>cacheType</param-name> + <param-value>both</param-value> + </init-param> + <init-param> + <param-name>gzip</param-name> + <param-value>true</param-value> + </init-param> + <init-param> + <param-name>useFileMappedBuffer</param-name> + <param-value>true</param-value> + </init-param> + <!-- + <init-param> + <param-name>cacheControl</param-name> + <param-value>max-age=3600,public</param-value> + </init-param> + --> + <load-on-startup>0</load-on-startup> + </servlet> + + <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> + + + <!-- ==================================================================== --> + <!-- JSP Servlet --> + <!-- This is the jasper JSP servlet from the jakarta project --> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <!-- The JSP page compiler and execution servlet, which is the mechanism --> + <!-- used by Glassfish to support JSP pages. Traditionally, this servlet --> + <!-- is mapped to URL patterh "*.jsp". This servlet supports the --> + <!-- following initialization parameters (default values are in square --> + <!-- brackets): --> + <!-- --> + <!-- checkInterval If development is false and reloading is true, --> + <!-- background compiles are enabled. checkInterval --> + <!-- is the time in seconds between checks to see --> + <!-- if a JSP page needs to be recompiled. [300] --> + <!-- --> + <!-- compiler Which compiler Ant should use to compile JSP --> + <!-- pages. See the Ant documenation for more --> + <!-- information. [javac] --> + <!-- --> + <!-- classdebuginfo Should the class file be compiled with --> + <!-- debugging information? [true] --> + <!-- --> + <!-- classpath What class path should I use while compiling --> + <!-- generated servlets? [Created dynamically --> + <!-- based on the current web application] --> + <!-- Set to ? to make the container explicitly set --> + <!-- this parameter. --> + <!-- --> + <!-- development Is Jasper used in development mode (will check --> + <!-- for JSP modification on every access)? [true] --> + <!-- --> + <!-- enablePooling Determines whether tag handler pooling is --> + <!-- enabled [true] --> + <!-- --> + <!-- fork Tell Ant to fork compiles of JSP pages so that --> + <!-- a separate JVM is used for JSP page compiles --> + <!-- from the one Tomcat is running in. [true] --> + <!-- --> + <!-- ieClassId The class-id value to be sent to Internet --> + <!-- Explorer when using <jsp:plugin> tags. --> + <!-- [clsid:8AD9C840-044E-11D1-B3E9-00805F499D93] --> + <!-- --> + <!-- javaEncoding Java file encoding to use for generating java --> + <!-- source files. [UTF-8] --> + <!-- --> + <!-- keepgenerated Should we keep the generated Java source code --> + <!-- for each page instead of deleting it? [true] --> + <!-- --> + <!-- logVerbosityLevel The level of detailed messages to be produced --> + <!-- by this servlet. Increasing levels cause the --> + <!-- generation of more messages. Valid values are --> + <!-- FATAL, ERROR, WARNING, INFORMATION, and DEBUG. --> + <!-- [WARNING] --> + <!-- --> + <!-- mappedfile Should we generate static content with one --> + <!-- print statement per input line, to ease --> + <!-- debugging? [false] --> + <!-- --> + <!-- --> + <!-- reloading Should Jasper check for modified JSPs? [true] --> + <!-- --> + <!-- suppressSmap Should the generation of SMAP info for JSR45 --> + <!-- debugging be suppressed? [false] --> + <!-- --> + <!-- dumpSmap Should the SMAP info for JSR45 debugging be --> + <!-- dumped to a file? [false] --> + <!-- False if suppressSmap is true --> + <!-- --> + <!-- scratchdir What scratch directory should we use when --> + <!-- compiling JSP pages? [default work directory --> + <!-- for the current web application] --> + <!-- --> + <!-- tagpoolMaxSize The maximum tag handler pool size [5] --> + <!-- --> + <!-- xpoweredBy Determines whether X-Powered-By response --> + <!-- header is added by generated servlet [false] --> + <!-- --> + <!-- If you wish to use Jikes to compile JSP pages: --> + <!-- Set the init parameter "compiler" to "jikes". Define --> + <!-- the property "-Dbuild.compiler.emacs=true" when starting Jetty --> + <!-- to cause Jikes to emit error messages in a format compatible with --> + <!-- Jasper. --> + <!-- If you get an error reporting that jikes can't use UTF-8 encoding, --> + <!-- try setting the init parameter "javaEncoding" to "ISO-8859-1". --> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <servlet id="jsp"> + <servlet-name>jsp</servlet-name> + <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class> + <init-param> + <param-name>logVerbosityLevel</param-name> + <param-value>DEBUG</param-value> + </init-param> + <init-param> + <param-name>fork</param-name> + <param-value>false</param-value> + </init-param> + <init-param> + <param-name>xpoweredBy</param-name> + <param-value>false</param-value> + </init-param> + <!-- + <init-param> + <param-name>classpath</param-name> + <param-value>?</param-value> + </init-param> + --> + <load-on-startup>0</load-on-startup> + </servlet> + + <servlet-mapping> + <servlet-name>jsp</servlet-name> + <url-pattern>*.jsp</url-pattern> + <url-pattern>*.jspf</url-pattern> + <url-pattern>*.jspx</url-pattern> + <url-pattern>*.xsp</url-pattern> + <url-pattern>*.JSP</url-pattern> + <url-pattern>*.JSPF</url-pattern> + <url-pattern>*.JSPX</url-pattern> + <url-pattern>*.XSP</url-pattern> + </servlet-mapping> + + <!-- ==================================================================== --> + <!-- Dynamic Servlet Invoker. --> + <!-- This servlet invokes anonymous servlets that have not been defined --> + <!-- in the web.xml or by other means. The first element of the pathInfo --> + <!-- of a request passed to the envoker is treated as a servlet name for --> + <!-- an existing servlet, or as a class name of a new servlet. --> + <!-- This servlet is normally mapped to /servlet/* --> + <!-- This servlet support the following initParams: --> + <!-- --> + <!-- nonContextServlets If false, the invoker can only load --> + <!-- servlets from the contexts classloader. --> + <!-- This is false by default and setting this --> + <!-- to true may have security implications. --> + <!-- --> + <!-- verbose If true, log dynamic loads --> + <!-- --> + <!-- * All other parameters are copied to the --> + <!-- each dynamic servlet as init parameters --> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <!-- Uncomment for dynamic invocation + <servlet> + <servlet-name>invoker</servlet-name> + <servlet-class>org.mortbay.jetty.servlet.Invoker</servlet-class> + <init-param> + <param-name>verbose</param-name> + <param-value>false</param-value> + </init-param> + <init-param> + <param-name>nonContextServlets</param-name> + <param-value>false</param-value> + </init-param> + <init-param> + <param-name>dynamicParam</param-name> + <param-value>anyValue</param-value> + </init-param> + <load-on-startup>0</load-on-startup> + </servlet> + + <servlet-mapping> <servlet-name>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping> + --> + + + + <!-- ==================================================================== --> + <session-config> + <session-timeout>30</session-timeout> + </session-config> + + <!-- ==================================================================== --> + <!-- Default MIME mappings --> + <!-- The default MIME mappings are provided by the mime.properties --> + <!-- resource in the org.mortbay.jetty.jar file. Additional or modified --> + <!-- mappings may be specified here --> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <!-- UNCOMMENT TO ACTIVATE + <mime-mapping> + <extension>mysuffix</extension> + <mime-type>mymime/type</mime-type> + </mime-mapping> + --> + + <!-- ==================================================================== --> + <welcome-file-list> + <welcome-file>index.html</welcome-file> + <welcome-file>index.htm</welcome-file> + <welcome-file>index.jsp</welcome-file> + </welcome-file-list> + + <!-- ==================================================================== --> + <locale-encoding-mapping-list> + <locale-encoding-mapping><locale>ar</locale><encoding>ISO-8859-6</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>be</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>bg</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>ca</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>cs</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>da</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>de</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>el</locale><encoding>ISO-8859-7</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>en</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>es</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>et</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>fi</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>fr</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>hr</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>hu</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>is</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>it</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>iw</locale><encoding>ISO-8859-8</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>ja</locale><encoding>Shift_JIS</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>ko</locale><encoding>EUC-KR</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>lt</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>lv</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>mk</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>nl</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>no</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>pl</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>pt</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>ro</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>ru</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>sh</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>sk</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>sl</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>sq</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>sr</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>sv</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>tr</locale><encoding>ISO-8859-9</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>uk</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>zh</locale><encoding>GB2312</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>zh_TW</locale><encoding>Big5</encoding></locale-encoding-mapping> + </locale-encoding-mapping-list> + + <security-constraint> + <web-resource-collection> + <web-resource-name>Disable TRACE</web-resource-name> + <url-pattern>/</url-pattern> + <http-method>TRACE</http-method> + </web-resource-collection> + <auth-constraint/> + </security-constraint> + +</web-app> + |