Commit c81c6ecc authored by Tobias Jeger's avatar Tobias Jeger

ARCHE-376: Import "Essentials Archetype" as agreed with R&D.

parents
This diff is collapsed.
This diff is collapsed.
Hippo CMS7 Site Toolkit Maven Archetypes
Copyright 2010-2014 Hippo B.V., Amsterdam, The Netherlands (http://www.onehippo.com/)
This product includes software developed by:
Hippo B.V., Amsterdam, The Netherlands (http://www.onehippo.com/);
The Apache Software Foundation (http://www.apache.org/).
NOTICE: Only our own original work is licensed under the terms of the
Apache License Version 2.0. The licenses of some libraries might impose
different redistribution or general licensing terms than those stated in the
Apache License. Users and redistributors are hereby requested to verify these
conditions and agree upon them.
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2010-2013 Hippo B.V. (http://www.onehippo.com)
Licensed 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.
-->
<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.onehippo.cms7</groupId>
<artifactId>hippo-cms7-project</artifactId>
<version>26</version>
</parent>
<name>Hippo CMS7 Site Toolkit Maven Archetypes</name>
<description>Hippo CMS7 Site Toolkit Maven Archetypes. This project enables you to start with a skeleton project
gluing together all the necessary components and compatible versions.
</description>
<artifactId>essentials-archetype</artifactId>
<version>2.00.03-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
<notice.project.name>Hippo CMS7 Essentials Maven Archetypes</notice.project.name>
</properties>
<distributionManagement>
<repository>
<name>Hippo Maven 2 Repository</name>
<id>hippo-maven2</id>
<url>https://maven.onehippo.com/content/repositories/releases</url>
<uniqueVersion>false</uniqueVersion>
</repository>
<snapshotRepository>
<id>hippo-maven2-snapshots</id>
<name>Hippo Maven 2 Snapshots Repository</name>
<url>https://maven.onehippo.com/content/repositories/snapshots</url>
<uniqueVersion>false</uniqueVersion>
</snapshotRepository>
</distributionManagement>
<repositories>
<repository>
<id>hippo</id>
<name>Hippo Maven 2</name>
<url>http://maven.onehippo.com/maven2/</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<updatePolicy>never</updatePolicy>
</releases>
</repository>
</repositories>
<modules>
<module>website</module>
</modules>
<build>
<defaultGoal>package</defaultGoal>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>${maven.plugin.project-info.version}</version>
<reportSets>
<reportSet>
<reports>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
<profiles>
<profile>
<id>pedantic</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<inherited>false</inherited>
<configuration>
<excludes combine.children="append">
<!-- skip archetype resources itself (but should not contain 3rd party copyrighted/licensed content) -->
<exclude>website/src/**</exclude>
<exclude>sync-marker.txt</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
Import "essentials archetype" to location agreed with R&D.
--This line, and those below, will be ignored--
A .
Latest sync was up to and including r46178.
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2010-2013 Hippo B.V. (http://www.onehippo.com)
Licensed 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. -->
<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>
<artifactId>essentials-archetype</artifactId>
<groupId>org.onehippo.cms7</groupId>
<version>2.00.03-SNAPSHOT</version>
</parent>
<name>Hippo CMS7 Site Toolkit Website Archetype</name>
<description>Hippo Site Toolkit Website Archetype: this creates a website skeleton, gluing together the correct
versions of cms7, hst config editor and hst, and showing a home page and about.</description>
<artifactId>essentials-archetype-website</artifactId>
<packaging>maven-archetype</packaging>
<properties>
<gettingstarted.app.groupId>org.onehippo.cms7.hst</gettingstarted.app.groupId>
<gettingstarted.app.artifactId>gettingstarted</gettingstarted.app.artifactId>
<gettingstarted.app.version>1.01.00</gettingstarted.app.version>
<gettingstarted.app.name>Getting Started</gettingstarted.app.name>
</properties>
<build>
<extensions>
<extension>
<groupId>org.apache.maven.archetype</groupId>
<artifactId>archetype-packaging</artifactId>
<version>2.0</version>
</extension>
</extensions>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-archetype-plugin</artifactId>
<version>2.0</version>
<extensions>true</extensions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.2</version>
<executions>
<execution>
<id>generate-and-install-gettingstarted</id>
<phase>install</phase>
<configuration>
<tasks>
<echo message="$$$$$$$$$$ Deleting the existing example HST application if it exists. $$$$$$$$$$" />
<delete dir="${project.build.directory}/${gettingstarted.app.artifactId}" />
<echo message="$$$$$$$$$$ Generating an example HST application from the archetype $$$$$$$$$$" />
<java classname="org.codehaus.classworlds.Launcher" dir="${project.build.directory}" fork="true" failonerror="true">
<permissions>
<grant class="java.security.AllPermission" />
<grant class="java.io.FilePermission" name="${maven.home}/bin/m2.conf" actions="read" />
<grant class="java.util.PropertyPermission" name="*" actions="read,write" />
</permissions>
<sysproperty key="classworlds.conf" value="${maven.home}/bin/m2.conf" />
<sysproperty key="maven.home" value="${maven.home}" />
<classpath>
<fileset dir="${maven.home}/boot">
<include name="**/*.jar" />
</fileset>
</classpath>
<arg value="org.apache.maven.plugins:maven-archetype-plugin:2.0:generate" />
<arg value="-Dhippo.snapshots=${hippo.snapshots}" />
<arg value="-DarchetypeGroupId=org.onehippo.cms7" />
<arg value="-DarchetypeArtifactId=essentials-archetype-website" />
<arg value="-DarchetypeVersion=${project.version}" />
<arg value="-DgroupId=${gettingstarted.app.groupId}" />
<arg value="-DartifactId=${gettingstarted.app.artifactId}" />
<arg value="-Dversion=${gettingstarted.app.version}" />
<arg value="-DprojectName=${gettingstarted.app.name}" />
</java>
<echo message="$$$$$$$$$$ Installing gettingstarted example $$$$$$$$$$" />
<java classname="org.codehaus.classworlds.Launcher" dir="${project.build.directory}/${gettingstarted.app.artifactId}" fork="true" failonerror="true">
<permissions>
<grant class="java.security.AllPermission" />
<grant class="java.io.FilePermission" name="${maven.home}/bin/m2.conf" actions="read" />
<grant class="java.util.PropertyPermission" name="*" actions="read,write" />
</permissions>
<sysproperty key="classworlds.conf" value="${maven.home}/bin/m2.conf" />
<sysproperty key="maven.home" value="${maven.home}" />
<classpath>
<fileset dir="${maven.home}/boot">
<include name="**/*.jar" />
</fileset>
</classpath>
<arg value="install" />
<arg value="-Dhippo.snapshots=${hippo.snapshots}" />
</java>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-archetype-plugin</artifactId>
<version>2.0</version>
<scope>runtime</scope>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<archetype-descriptor
xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0 http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd"
name="Hippo Project"
partial="false">
<requiredProperties>
<requiredProperty key="groupId">
<defaultValue>org.example</defaultValue>
</requiredProperty>
<requiredProperty key="artifactId">
<defaultValue>myhippoproject</defaultValue>
</requiredProperty>
<requiredProperty key="version">
<defaultValue>1.01.00-SNAPSHOT</defaultValue>
</requiredProperty>
<requiredProperty key="projectName">
<defaultValue>My Hippo Project</defaultValue>
</requiredProperty>
</requiredProperties>
<fileSets>
<fileSet filtered="false" encoding="UTF-8">
<directory>src/main/assembly</directory>
<includes>
<include>distribution.xml</include>
</includes>
</fileSet>
<fileSet filtered="false" encoding="UTF-8">
<directory>conf</directory>
<includes>
<include>**/*.dtd</include>
<include>**/*.xml</include>
</includes>
</fileSet>
<fileSet>
<directory/>
<includes>
<include>README.txt</include>
<include>BUILD</include>
<include>hippo-cms7-release-pom.xml</include>
</includes>
</fileSet>
<!-- bootstrap module -->
<fileSet filtered="true" encoding="UTF-8">
<directory>bootstrap</directory>
<includes>
<include>pom.xml</include>
</includes>
</fileSet>
<!-- bootstrap-configuration module -->
<fileSet filtered="true" encoding="UTF-8">
<directory>bootstrap/configuration/src/main/resources</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.cnd</include>
</includes>
</fileSet>
<fileSet filtered="true" encoding="UTF-8">
<directory>bootstrap/configuration</directory>
<includes>
<include>pom.xml</include>
</includes>
</fileSet>
<!-- bootstrap-essentials module -->
<fileSet filtered="true" encoding="UTF-8">
<directory>bootstrap/essentials/src/main/resources</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.cnd</include>
</includes>
</fileSet>
<fileSet filtered="true" encoding="UTF-8">
<directory>bootstrap/essentials</directory>
<includes>
<include>pom.xml</include>
</includes>
</fileSet>
<!-- bootstrap-content module -->
<fileSet filtered="true" encoding="UTF-8">
<directory>bootstrap/content/src/main/resources</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.cnd</include>
</includes>
</fileSet>
<fileSet filtered="true" encoding="UTF-8">
<directory>bootstrap/content</directory>
<includes>
<include>pom.xml</include>
</includes>
</fileSet>
<!-- cms module -->
<fileSet filtered="true" encoding="UTF-8">
<directory>cms/src/main/webapp</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.css</include>
</includes>
</fileSet>
<fileSet filtered="false" encoding="UTF-8">
<directory>cms/src/main/webapp</directory>
<includes>
<include>**/*.png</include>
<include>**/*.jsp</include>
</includes>
</fileSet>
<fileSet filtered="true" encoding="UTF-8">
<directory>cms/src/main/resources</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</fileSet>
<fileSet filtered="false" encoding="UTF-8">
<directory>cms/src/main/resources</directory>
<includes>
<include>**/*.png</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8">
<directory>cms/src/main/resources</directory>
<includes>
<include>**/*.dtd</include>
</includes>
</fileSet>
<fileSet filtered="true" encoding="UTF-8">
<directory>cms</directory>
<includes>
<include>pom.xml</include>
</includes>
</fileSet>
<!-- site module -->
<fileSet filtered="true" packaged="true" encoding="UTF-8">
<directory>site/src/main/java</directory>
<includes>
<include>**/*.java</include>
<include>**/*.properties</include>
</includes>
</fileSet>
<fileSet filtered="true" packaged="true" encoding="UTF-8">
<!-- packaged part -->
<directory>site/src/main/resources</directory>
<includes>
<include>componentsinfo/**/*.properties</include>
</includes>
</fileSet>
<fileSet filtered="true" encoding="UTF-8">
<!-- non packaged part -->
<directory>site/src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<excludes>
<exclude>componentsinfo/**/*.properties</exclude>
</excludes>
</fileSet>
<fileSet filtered="true" encoding="UTF-8">
<directory>site/src/main/webapp</directory>
<excludes>
<exclude>**/WEB-INF/jsp/errorpages/*.jsp</exclude>
</excludes>
<includes>
<include>**/README</include>
<include>**/*.jsp</include>
<include>**/*.jspf</include>
<include>**/*.tag</include>
<include>**/*.xml</include>
<include>**/*.properties</include>
<include>**/*.psml</include>
</includes>
</fileSet>
<fileSet filtered="false" encoding="UTF-8">
<directory>site</directory>
<includes>
<include>build.properties-sample</include>
</includes>
</fileSet>
<fileSet filtered="false" encoding="UTF-8">
<directory>site/src/main/webapp</directory>
<includes>
<include>**/WEB-INF/jsp/errorpages/*.jsp</include>
<include>**/*.gif</include>
<include>**/*.css</include>
<include>**/*.png</include>
<include>**/*.js</include>
</includes>
</fileSet>
<fileSet filtered="true" encoding="UTF-8">
<directory>site/src/test/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
</fileSet>
<fileSet filtered="true" packaged="true" encoding="UTF-8">
<directory>site/src/test/java</directory>
<includes>
<include>**/*.java</include>
<include>**/*.properties</include>
</includes>
</fileSet>
<fileSet filtered="true" encoding="UTF-8">
<directory>site</directory>
<includes>
<include>pom.xml</include>
</includes>
</fileSet>
<!-- essentials-->
<fileSet filtered="true" encoding="UTF-8">
<directory>essentials</directory>
<includes>
<include>pom.xml</include>
<include>src/main/webapp/WEB-INF/web.xml</include>
<include>src/main/resources/project-settings.xml</include>
</includes>
</fileSet>
</fileSets>
</archetype-descriptor>
Running locally
===============
This project uses the Maven Cargo plugin to run Essentials, the CMS and site locally in Tomcat.
From the project root folder, execute:
mvn clean verify
mvn -P cargo.run
Access the Hippo Essentials at http://localhost:8080/essentials.
After your project is set up, access the CMS at http://localhost:8080/cms and the site at http://localhost:8080/site.
Logs are located in target/tomcat7x/logs
Building distribution
=====================
To build a Tomcat distribution tarball containing only deployable artifacts:
mvn clean verify
mvn -P dist
See also src/main/assembly/distribution.xml if you need to customize the distribution.
Using JRebel
============
Set the environment variable REBEL_HOME to the directory containing jrebel.jar.
Build with:
mvn clean verify -Djrebel
Start with:
mvn -P cargo.run -Djrebel
Best Practice for development
=============================
Use the option -Drepo.path=/some/path/to/repository during start up. This will avoid
your repository to be cleared when you do a mvn clean.
For example start your project with:
mvn -P cargo.run -Drepo.path=/home/usr/tmp/repo
or with jrebel:
mvn -P cargo.run -Drepo.path=/home/usr/tmp/repo -Djrebel
Hot deploy
==========
To hot deploy, redeploy or undeploy the CMS or site:
cd cms (or site)
mvn cargo:redeploy (or cargo:undeploy, or cargo:deploy)
Automatic Export
================
Automatic export of repository changes to the filesystem is turned on by default. To control this behavior, log into
http://localhost:8080/cms/console and press the "Enable/Disable Auto Export" button at the top right. To set this
as the default for your project edit the file
./bootstrap/configuration/src/main/resources/configuration/modules/autoexport-module.xml
Monitoring with JMX Console
===========================
You may run the following command:
jconsole
Now open the local process org.apache.catalina.startup.Bootstrap start
<?xml version="1.0" encoding="UTF-8"?>
<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>${groupId}</groupId>
<artifactId>${rootArtifactId}-bootstrap</artifactId>
<version>${version}</version>
</parent>
<name>${projectName} Bootstrap Configuration</name>
<description>${projectName} Bootstrap Configuration</description>
<artifactId>${artifactId}-bootstrap-configuration</artifactId>
<build>
<defaultGoal>install</defaultGoal>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
<manifestEntries>
<Implementation-Build>${buildNumber}</Implementation-Build>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</build>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<sv:node xmlns:sv="http://www.jcp.org/jcr/sv/1.0" sv:name="formdata">
<sv:property sv:name="jcr:primaryType" sv:type="Name">
<sv:value>hipposys:domain</sv:value>
</sv:property>
<sv:node sv:name="hipposys:authrole">
<sv:property sv:name="jcr:primaryType" sv:type="Name">
<sv:value>hipposys:authrole</sv:value>
</sv:property>
<sv:property sv:name="hipposys:groups" sv:type="String" sv:multiple="true">
<sv:value>sitewriters</sv:value>
</sv:property>
<sv:property sv:name="hipposys:role" sv:type="String">
<sv:value>readwrite</sv:value>
</sv:property>
</sv:node>
<sv:node sv:name="formdata-nodes">
<sv:property sv:name="jcr:primaryType" sv:type="Name">
<sv:value>hipposys:domainrule</sv:value>
</sv:property>
<sv:node sv:name="hst-formdata">
<sv:property sv:name="jcr:primaryType" sv:type="Name">
<sv:value>hipposys:facetrule</sv:value>
</sv:property>
<sv:property sv:name="hipposys:equals" sv:type="Boolean">
<sv:value>true</sv:value>
</sv:property>
<sv:property sv:name="hipposys:facet" sv:type="String">
<sv:value>jcr:primaryType</sv:value>
</sv:property>
<sv:property sv:name="hipposys:filter" sv:type="Boolean">
<sv:value>false</sv:value>
</sv:property>
<sv:property sv:name="hipposys:type" sv:type="String">
<sv:value>Name</sv:value>
</sv:property>
<sv:property sv:name="hipposys:value" sv:type="String">
<sv:value>hst:formdata</sv:value>
</sv:property>
</sv:node>
</sv:node>
<sv:node sv:name="formdatacontainer-nodes">
<sv:property sv:name="jcr:primaryType" sv:type="Name">
<sv:value>hipposys:domainrule</sv:value>
</sv:property>
<sv:node sv:name="hst-formdatacontainer">
<sv:property sv:name="jcr:primaryType" sv:type="Name">
<sv:value>hipposys:facetrule</sv:value>
</sv:property>
<sv:property sv:name="hipposys:equals" sv:type="Boolean">
<sv:value>true</sv:value>
</sv:property>
<sv:property sv:name="hipposys:facet" sv:type="String">
<sv:value>jcr:primaryType</sv:value>