Finished migration to Git and the build system

* Added web interface packaging
* Added documentation about the development workflow
This commit is contained in:
Emmanuel BENOîT 2011-12-15 13:41:27 +01:00
parent 0665a760de
commit f682594cbd
5 changed files with 143 additions and 3 deletions

View file

@ -0,0 +1,60 @@
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>legacyworlds-web</artifactId>
<groupId>com.deepclone.lw</groupId>
<version>1.0.0</version>
<relativePath>../legacyworlds-web/pom.xml</relativePath>
</parent>
<artifactId>legacyworlds-web-DIST</artifactId>
<version>${legacyworlds.version.main}.${legacyworlds.version.release}-${legacyworlds.version.build}</version>
<packaging>pom</packaging>
<name>Legacy Worlds - Web - Packaging</name>
<description>This Maven module is responsible for creating the Legacy Worlds web interface's packaging.</description>
<!-- Depend on both WAR projects -->
<dependencies>
<dependency>
<groupId>com.deepclone.lw</groupId>
<artifactId>legacyworlds-web-main</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>com.deepclone.lw</groupId>
<artifactId>legacyworlds-web-admin</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
</dependencies>
<!-- Use the assembly plug-in to generate the distribution -->
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>distribution-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<attach>false</attach>
<finalName>legacyworlds-web-${project.version}</finalName>
<descriptors>
<descriptor>src/web.xml</descriptor>
</descriptors>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View file

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<!-- Legacy Worlds web interface assembly -->
<id>legacyworlds-web</id>
<formats>
<format>dir</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<dependencySets>
<dependencySet>
<useProjectArtifact>false</useProjectArtifact>
<outputDirectory>.</outputDirectory>
<unpack>false</unpack>
<includes>
<include>*:war</include>
</includes>
</dependencySet>
</dependencySets>
</assembly>

View file

@ -17,6 +17,7 @@
<module>../legacyworlds-web-main</module> <module>../legacyworlds-web-main</module>
<module>../legacyworlds-web-admin</module> <module>../legacyworlds-web-admin</module>
<module>../legacyworlds-web-beans</module> <module>../legacyworlds-web-beans</module>
<module>../legacyworlds-web-DIST</module>
</modules> </modules>

View file

@ -8,8 +8,6 @@ NOTES:
PROJECT: PROJECT:
! Write the new build system
* Update all dependencies to the latest versions * Update all dependencies to the latest versions

View file

@ -0,0 +1,53 @@
Legacy Worlds development work flow
====================================
Development is based off a set of Git repositories on the web-based repository
server. All repositories can be found under https://svn.legacyworlds.com/git/
Repositories
-------------
* Developer repositories: each developer has access to a personal repository,
under dev/{developer name} on the server. All developers have read access to
the others' repositories.
Address: https://svn.legacyworlds.com/git/dev/{developer name}
* Staging repository: this repository is meant to be used as the source for
all local repositories. All developers may read from it. However, only
TSeeker can push code to it.
Address: https://svn.legacyworlds.com/git/staging
* Main repository: this repository contains the code that has been processed
by the build system, along with the binaries if the last build succeeded.
While all developers can read from it, it should not be used as the source
for local copies.
Address: https://svn.legacyworlds.com/git/main
Branches
---------
On the staging and main repositories, the following branches exist:
* master - this is the main development branch. All code destined to end up
in the next version of Legacy Worlds lives there.
* milestone1 - maintenance branch for Legacy Worlds Beta 6 milestone 1.
Development process
--------------------
Work on some branch on your local copy.
-> Don't hesitate to push to your developer repository on the server
as a means of backup.
-> Rebase to the original branch whenever it changes.
When you are done with your work on a branch:
1) push to some branch on your developer repository on the server,
2) notify TSeeker that the branch should be pulled to the staging repository.
While this is easier to handle on IRC, a mail is fine as well.