Browse Source

Convert Gemini from Ivy to Maven (#3659)

Mike Smith 7 years ago
parent
commit
608c779d56
25 changed files with 250 additions and 211 deletions
  1. 5 6
      frameworks/Java/gemini/README.md
  2. 0 65
      frameworks/Java/gemini/build.xml
  3. 12 13
      frameworks/Java/gemini/gemini-mysql.dockerfile
  4. 12 13
      frameworks/Java/gemini/gemini-postgres.dockerfile
  5. 12 13
      frameworks/Java/gemini/gemini.dockerfile
  6. 0 26
      frameworks/Java/gemini/ivy.xml
  7. 0 20
      frameworks/Java/gemini/ivysettings.xml
  8. 186 0
      frameworks/Java/gemini/pom.xml
  9. 23 55
      frameworks/Java/gemini/source_code
  10. 0 0
      frameworks/Java/gemini/src/main/java/GhApplication.java
  11. 0 0
      frameworks/Java/gemini/src/main/java/GhServlet.java
  12. 0 0
      frameworks/Java/gemini/src/main/java/GhVersion.java
  13. 0 0
      frameworks/Java/gemini/src/main/java/home/entity/CachedWorld.java
  14. 0 0
      frameworks/Java/gemini/src/main/java/home/entity/Fortune.java
  15. 0 0
      frameworks/Java/gemini/src/main/java/home/entity/GhDataEntity.java
  16. 0 0
      frameworks/Java/gemini/src/main/java/home/entity/World.java
  17. 0 0
      frameworks/Java/gemini/src/main/java/home/handler/HelloHandler.java
  18. 0 0
      frameworks/Java/gemini/src/main/webapp/WEB-INF/gemini-mysql.conf
  19. 0 0
      frameworks/Java/gemini/src/main/webapp/WEB-INF/gemini-postgres.conf
  20. 0 0
      frameworks/Java/gemini/src/main/webapp/WEB-INF/gemini.conf
  21. 0 0
      frameworks/Java/gemini/src/main/webapp/WEB-INF/mustache/fortunes.mustache
  22. 0 0
      frameworks/Java/gemini/src/main/webapp/WEB-INF/mustache/layout.mustache
  23. 0 0
      frameworks/Java/gemini/src/main/webapp/WEB-INF/robots-allowed.txt
  24. 0 0
      frameworks/Java/gemini/src/main/webapp/WEB-INF/robots-disallowed.txt
  25. 0 0
      frameworks/Java/gemini/src/main/webapp/WEB-INF/web.xml

+ 5 - 6
frameworks/Java/gemini/README.md

@@ -4,19 +4,18 @@ This is the Gemini portion of a [benchmarking test suite](../) comparing a varie
 
 ### JSON Encoding Test
 
-* [JSON test source](Source/hello/home/handler/HelloHandler.java)
+* [JSON test source](src/main/java/hello/home/handler/HelloHandler.java)
 
 ### Data-Store/Database Mapping Test
 
-* [DB test controller](Source/hello/home/handler/HelloHandler.java)
-* [DB test model](Source/hello/home/entity/World.java)
+* [DB test controller](src/main/java/hello/home/handler/HelloHandler.java)
+* [DB test model](src/main/java/hello/home/entity/World.java)
 
 
 ## Infrastructure Software Versions
 The tests were run with:
-* [Oracle Java 1.8](https://www.oracle.com/java/)
-* [Resin 4.0.55](http://www.caucho.com/)
-* [MySQL 5.5.29](https://dev.mysql.com/)
+* [OpenJDK Java 10](http://jdk.java.net/10/)
+* [Resin 4.0.56](http://www.caucho.com/)
 
 ## Test URLs
 ### JSON Encoding Test

+ 0 - 65
frameworks/Java/gemini/build.xml

@@ -1,65 +0,0 @@
-<project default="build" name="geminihello" xmlns:ivy="antlib:org.apache.ivy.ant" >
-
-  <target name="compile">
-    
-    <!-- Import environment variables. -->
-    <property environment="Environment" />
-    
-    <!-- Declare other variables which can be overridden in a personalized
-         build.properties file. -->
-    <property name="Resin" value="${Environment.RESIN_HOME}" />
-    <property name="GeminiHello" value="." />
-    
-    <!-- Compile the source into WEB-INF/classes. -->
-    <javac srcdir="${GeminiHello}/Source" destdir="${GeminiHello}/Docroot/WEB-INF/classes" includes="**/*">
-      <classpath>
-        <pathelement location="${Resin}/lib/javaee-16.jar" />
-        <pathelement location="${Resin}/lib/resin.jar" />
-        <fileset dir="${GeminiHello}/Docroot/WEB-INF/lib">
-          <include name="**/*.jar" />
-        </fileset>
-     </classpath>
-    </javac>
-    
-  </target>
-
-  <target name="package" depends="compile">
-    <war destfile="gemini.war" basedir="Docroot"/>
-  </target>
-
-  <property name="ivy.install.version" value="2.4.0" />
-  <condition property="ivy.home" value="${env.IVY_HOME}">
-    <isset property="env.IVY_HOME" />
-  </condition>
-  <property name="ivy.home" value="${user.home}/.ant" />
-  <property name="ivy.jar.dir" value="${ivy.home}/lib" />
-  <property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" />
-
-  <target name="download-ivy" unless="offline">
-
-      <mkdir dir="${ivy.jar.dir}"/>
-      <!-- download Ivy from web site so that it can be used even without any special installation -->
-      <get src="https://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar" 
-            dest="${ivy.jar.file}" usetimestamp="true"/>
-  </target>
-
-  <target name="init-ivy" depends="download-ivy">
-    <!-- try to load ivy here from ivy home, in case the user has not already dropped
-            it into ant's lib dir (note that the latter copy will always take precedence).
-            We will not fail as long as local lib dir exists (it may be empty) and
-            ivy is in at least one of ant's lib dir or the local lib dir. -->
-      <path id="ivy.lib.path">
-          <fileset dir="${ivy.jar.dir}" includes="*.jar"/>
-
-      </path>
-      <taskdef resource="org/apache/ivy/ant/antlib.xml"
-                uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/>
-  </target>
-  
-  <target name="resolve" depends="init-ivy" description="--> retrieve dependencies with ivy">
-    <ivy:settings file="./ivysettings.xml"/>
-    <ivy:resolve conf="default" />
-    <ivy:retrieve pattern="Docroot/WEB-INF/lib/[artifact](-[classifier]).[ext]" />
-  </target>
-  
-</project>

+ 12 - 13
frameworks/Java/gemini/gemini-mysql.dockerfile

@@ -1,21 +1,20 @@
-FROM openjdk:10-jdk-slim
-RUN apt update -qqy && apt install -yqq ant curl
+FROM maven:3.5.3-jdk-10-slim as maven
 
 WORKDIR /gemini
-COPY Docroot Docroot
-COPY Source Source
-COPY build.xml build.xml
-COPY ivy.xml ivy.xml
-COPY ivysettings.xml ivysettings.xml
 
-RUN mv Docroot/WEB-INF/gemini-mysql.conf Docroot/WEB-INF/GeminiHello.conf
-RUN mkdir Docroot/WEB-INF/classes
-RUN mkdir Docroot/WEB-INF/lib
-RUN ant resolve
-RUN ant package
+COPY src src
+COPY pom.xml pom.xml
+
+RUN mv src/main/webapp/WEB-INF/gemini-mysql.conf src/main/webapp/WEB-INF/GeminiHello.conf
+RUN mvn -q compile
+RUN mvn -q war:war
+
+FROM openjdk:10-jdk-slim
+RUN apt update -qqy && apt install -yqq curl > /dev/null
 
 WORKDIR /resin
 RUN curl -sL http://caucho.com/download/resin-4.0.56.tar.gz | tar xz --strip-components=1
 RUN rm -rf webapps/*
-RUN cp /gemini/gemini.war webapps/ROOT.war
+COPY --from=maven /gemini/target/HelloWorld-0.0.1.war webapps/ROOT.war
+
 CMD ["java", "-jar", "lib/resin.jar", "console"]

+ 12 - 13
frameworks/Java/gemini/gemini-postgres.dockerfile

@@ -1,21 +1,20 @@
-FROM openjdk:10-jdk-slim
-RUN apt update -qqy && apt install -yqq ant curl
+FROM maven:3.5.3-jdk-10-slim as maven
 
 WORKDIR /gemini
-COPY Docroot Docroot
-COPY Source Source
-COPY build.xml build.xml
-COPY ivy.xml ivy.xml
-COPY ivysettings.xml ivysettings.xml
 
-RUN mv Docroot/WEB-INF/gemini-postgres.conf Docroot/WEB-INF/GeminiHello.conf
-RUN mkdir Docroot/WEB-INF/classes
-RUN mkdir Docroot/WEB-INF/lib
-RUN ant resolve
-RUN ant package
+COPY src src
+COPY pom.xml pom.xml
+
+RUN mv src/main/webapp/WEB-INF/gemini-postgres.conf src/main/webapp/WEB-INF/GeminiHello.conf
+RUN mvn -q compile
+RUN mvn -q war:war
+
+FROM openjdk:10-jdk-slim
+RUN apt update -qqy && apt install -yqq curl > /dev/null
 
 WORKDIR /resin
 RUN curl -sL http://caucho.com/download/resin-4.0.56.tar.gz | tar xz --strip-components=1
 RUN rm -rf webapps/*
-RUN cp /gemini/gemini.war webapps/ROOT.war
+COPY --from=maven /gemini/target/HelloWorld-0.0.1.war webapps/ROOT.war
+
 CMD ["java", "-jar", "lib/resin.jar", "console"]

+ 12 - 13
frameworks/Java/gemini/gemini.dockerfile

@@ -1,21 +1,20 @@
-FROM openjdk:10-jdk-slim
-RUN apt update -qqy && apt install -yqq ant curl
+FROM maven:3.5.3-jdk-10-slim as maven
 
 WORKDIR /gemini
-COPY Docroot Docroot
-COPY Source Source
-COPY build.xml build.xml
-COPY ivy.xml ivy.xml
-COPY ivysettings.xml ivysettings.xml
 
-RUN mv Docroot/WEB-INF/gemini.conf Docroot/WEB-INF/GeminiHello.conf
-RUN mkdir Docroot/WEB-INF/classes
-RUN mkdir Docroot/WEB-INF/lib
-RUN ant resolve
-RUN ant package
+COPY src src
+COPY pom.xml pom.xml
+
+RUN mv src/main/webapp/WEB-INF/gemini.conf src/main/webapp/WEB-INF/GeminiHello.conf
+RUN mvn -q compile
+RUN mvn -q war:war
+
+FROM openjdk:10-jdk-slim
+RUN apt update -qqy && apt install -yqq curl > /dev/null
 
 WORKDIR /resin
 RUN curl -sL http://caucho.com/download/resin-4.0.56.tar.gz | tar xz --strip-components=1
 RUN rm -rf webapps/*
-RUN cp /gemini/gemini.war webapps/ROOT.war
+COPY --from=maven /gemini/target/HelloWorld-0.0.1.war webapps/ROOT.war
+
 CMD ["java", "-jar", "lib/resin.jar", "console"]

+ 0 - 26
frameworks/Java/gemini/ivy.xml

@@ -1,26 +0,0 @@
-<ivy-module version="2.4">
-    <info organisation="com.techempower" module="App" />
-    
-    <dependencies>
-        <dependency org="javax" name="javaee-api" rev="6.0" />
-        <dependency org="javax" name="javaee-web-api" rev="6.0" />
-        <dependency org="javax.activation" name="activation" rev="1.1.1" />
-        <dependency org="javax.mail" name="javax.mail-api" rev="1.5.6" />
-        <dependency org="com.google.guava" name="guava" rev="18.0" />
-        <dependency org="net.sf.trove4j" name="trove4j" rev="3.0.3" />
-        <dependency org="com.github.spullara.mustache.java" name="compiler" rev="0.8.17" />
-        <dependency org="org.mindrot" name="jbcrypt" rev="0.3m" />
-        <dependency org="org.postgresql" name="postgresql" rev="42.1.4" />
-        <dependency org="mysql" name="mysql-connector-java" rev="5.1.34" />
-        <dependency org="com.mortennobel" name="java-image-scaling" rev="0.8.5" />
-        <dependency org="org.im4java" name="im4java" rev="1.4.0" />
-        <dependency org="com.fasterxml.jackson.core" name="jackson-core" rev="2.7.3" />
-        <dependency org="com.fasterxml.jackson.core" name="jackson-annotations" rev="2.7.3" />
-        <dependency org="com.fasterxml.jackson.core" name="jackson-databind" rev="2.7.3" />
-        <dependency org="kryonet" name="kryonet-all" rev="2.21" />
-        <dependency org="org.reflections" name="reflections" rev="0.9.10" />
-        <dependency org="javassist" name="javassist" rev="3.12.1.GA" />
-        <dependency org="com.techempower" name="gemini-public" rev="2.18.1" />
-        <dependency org="com.techempower" name="gemini-resin-public" rev="2.18.1" />
-    </dependencies>
-</ivy-module>

+ 0 - 20
frameworks/Java/gemini/ivysettings.xml

@@ -1,20 +0,0 @@
-<ivysettings>
-    <settings defaultResolver='nexus'/>
-    <resolvers>
-        <chain name="nexus">
-            <ibiblio name='central' m2compatible='true'/>
-            <ibiblio name='clojars' 
-                     m2compatible='true' 
-                     root='http://clojars.org/repo/' />
-            <ibiblio name='atlassian 3rd-party'
-                     m2compatible='true'
-                     root='https://maven.atlassian.com/3rdparty/' />
-            <ibiblio name='caucho'
-                     m2compatible='true'
-                     root='http://caucho.com/m2/' />
-            <ibiblio name='techempower' 
-                     m2compatible='true' 
-                     root='https://maven.techempower.com/releases/' />
-        </chain>
-    </resolvers>
-</ivysettings>

+ 186 - 0
frameworks/Java/gemini/pom.xml

@@ -0,0 +1,186 @@
+<?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>
+    <packaging>war</packaging>
+    <groupId>com.techempower.gemini.hello</groupId>
+    <artifactId>HelloWorld</artifactId>
+    <version>0.0.1</version>
+    <name>HelloWorld</name>
+    <description>
+        HelloWorld
+    </description>
+
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+    <repositories>
+        <repository>
+            <id>clojars</id>
+            <url>http://clojars.org/repo</url>
+        </repository>
+        <repository>
+            <id>atlassian 3rd-party</id>
+            <url>https://maven.atlassian.com/3rdparty</url>
+        </repository>
+        <repository>
+            <id>caucho</id>
+            <url>http://caucho.com/m2</url>
+        </repository>
+        <repository>
+            <id>techempower</id>
+            <url>https://maven.techempower.com/releases</url>
+        </repository>
+    </repositories>
+
+    <build>
+        <directory>target</directory>
+        <outputDirectory>src/main/webapp/WEB-INF/classes</outputDirectory>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>2.5.1</version>
+                <configuration>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                    <encoding>UTF-8</encoding>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-source-plugin</artifactId>
+                <version>2.2.1</version>
+                <executions>
+                    <execution>
+                        <id>attach-sources</id>
+                        <goals>
+                            <goal>jar</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <version>2.5</version>
+                <executions>
+                   <execution>
+                        <id>attach-javadocs</id>
+                        <goals>
+                            <goal>jar</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+    <dependencies>
+        <dependency>
+            <groupId>javax</groupId>
+            <artifactId>javaee-api</artifactId>
+            <version>6.0</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>javax</groupId>
+            <artifactId>javaee-web-api</artifactId>
+            <version>6.0</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>javax.activation</groupId>
+            <artifactId>activation</artifactId>
+            <version>1.1.1</version>
+        </dependency>
+        <dependency>
+            <groupId>javax.mail</groupId>
+            <artifactId>javax.mail-api</artifactId>
+            <version>1.5.6</version>
+        </dependency>
+        <dependency>
+            <groupId>com.google.guava</groupId>
+            <artifactId>guava</artifactId>
+            <version>18.0</version>
+        </dependency>
+        <dependency>
+            <groupId>net.sf.trove4j</groupId>
+            <artifactId>trove4j</artifactId>
+            <version>3.0.3</version>
+        </dependency>
+        <dependency>
+            <groupId>com.github.spullara.mustache.java</groupId>
+            <artifactId>compiler</artifactId>
+            <version>0.8.17</version>
+        </dependency>
+        <dependency>
+            <groupId>org.mindrot</groupId>
+            <artifactId>jbcrypt</artifactId>
+            <version>0.3m</version>
+        </dependency>
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+            <version>5.1.34</version>
+        </dependency>
+        <dependency>
+            <groupId>org.postgresql</groupId>
+            <artifactId>postgresql</artifactId>
+            <version>42.1.4</version>
+        </dependency>
+        <dependency>
+            <groupId>com.mortennobel</groupId>
+            <artifactId>java-image-scaling</artifactId>
+            <version>0.8.5</version>
+        </dependency>
+        <dependency>
+            <groupId>org.im4java</groupId>
+            <artifactId>im4java</artifactId>
+            <version>1.4.0</version>
+        </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-core</artifactId>
+            <version>2.7.3</version>
+        </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-annotations</artifactId>
+            <version>2.7.3</version>
+        </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+            <version>2.7.3</version>
+        </dependency>
+        <dependency>
+            <groupId>kryonet</groupId>
+            <artifactId>kryonet-all</artifactId>
+            <version>2.21</version>
+        </dependency>
+        <dependency>
+            <groupId>org.reflections</groupId>
+            <artifactId>reflections</artifactId>
+            <version>0.9.10</version>
+        </dependency>
+        <dependency>
+            <groupId>javassist</groupId>
+            <artifactId>javassist</artifactId>
+            <version>3.12.1.GA</version>
+        </dependency>
+        <dependency>
+            <groupId>com.techempower</groupId>
+            <artifactId>gemini-public</artifactId>
+            <version>2.18.1</version>
+        </dependency>
+        <dependency>
+            <groupId>com.techempower</groupId>
+            <artifactId>gemini-resin-public</artifactId>
+            <version>2.18.1</version>
+        </dependency>
+    </dependencies>
+
+</project>

+ 23 - 55
frameworks/Java/gemini/source_code

@@ -1,55 +1,23 @@
-./gemini/GeminiHello.launch
-./gemini/Source/
-./gemini/Source/hello
-./gemini/Source/hello/GhApplication.java
-./gemini/Source/hello/GhServlet.java
-./gemini/Source/hello/GhVersion.java
-./gemini/Source/hello/home
-./gemini/Source/hello/home/entity
-./gemini/Source/hello/home/entity/GhDataEntity.java
-./gemini/Source/hello/home/entity/World.java
-./gemini/Source/hello/home/entity/Fortune.java
-./gemini/Source/hello/home/handler
-./gemini/Source/hello/home/handler/HelloHandler.java
-./gemini/Docroot/
-./gemini/Docroot/WEB-INF
-./gemini/Docroot/WEB-INF/mustache
-./gemini/Docroot/WEB-INF/mustache/.gitkeep
-./gemini/Docroot/WEB-INF/mustache/layout.mustache
-./gemini/Docroot/WEB-INF/mustache/fortunes.mustache
-./gemini/Docroot/WEB-INF/robots-disallowed.txt
-./gemini/Docroot/WEB-INF/web.xml
-./gemini/Docroot/WEB-INF/GeminiHello-Prod.conf
-./gemini/Docroot/WEB-INF/GeminiHello-Inverness.conf
-./gemini/Docroot/WEB-INF/lib
-./gemini/Docroot/WEB-INF/lib/kryonet-1.04-all.jar
-./gemini/Docroot/WEB-INF/lib/mysql-connector-java-5.1.23-bin.jar
-./gemini-Docroot/WEB-INF/lib/postgresql-9.4-1200.jdbc41.jar
-./gemini/Docroot/WEB-INF/lib/mustache-compiler-0.8.13.jar
-./gemini/Docroot/WEB-INF/lib/mail.jar
-./gemini/Docroot/WEB-INF/lib/activation.jar
-./gemini/Docroot/WEB-INF/lib/guava-14.0.1.jar
-./gemini/Docroot/WEB-INF/lib/trove4j-3.0.3.jar
-./gemini/Docroot/WEB-INF/lib/gemini-1.3.7.jar
-./gemini/Docroot/WEB-INF/lib/jsr305-2.0.0.jar
-./gemini/Docroot/WEB-INF/classes
-./gemini/Docroot/WEB-INF/classes/hello
-./gemini/Docroot/WEB-INF/classes/hello/GhServlet.class
-./gemini/Docroot/WEB-INF/classes/hello/home
-./gemini/Docroot/WEB-INF/classes/hello/home/entity
-./gemini/Docroot/WEB-INF/classes/hello/home/entity/Fortune.class
-./gemini/Docroot/WEB-INF/classes/hello/home/entity/Fortune$1.class
-./gemini/Docroot/WEB-INF/classes/hello/home/entity/World$1.class
-./gemini/Docroot/WEB-INF/classes/hello/home/entity/World.class
-./gemini/Docroot/WEB-INF/classes/hello/home/entity/GhDataEntity.class
-./gemini/Docroot/WEB-INF/classes/hello/home/handler
-./gemini/Docroot/WEB-INF/classes/hello/home/handler/HelloHandler.class
-./gemini/Docroot/WEB-INF/classes/hello/GhApplication.class
-./gemini/Docroot/WEB-INF/classes/hello/GhVersion.class
-./gemini/Docroot/WEB-INF/GeminiHello-Dev.conf
-./gemini/Docroot/WEB-INF/GeminiHello-Test.conf
-./gemini/Docroot/WEB-INF/robots-allowed.txt
-./gemini/Docroot/WEB-INF/resin.xml
-./gemini/Docroot/WEB-INF/GeminiHello.conf
-./gemini/Docroot/WEB-INF/GeminiHello-Base.conf
-./gemini/build.xml
+./gemini/src/main/java
+./gemini/src/main/java/GhApplication.java
+./gemini/src/main/java/GhServlet.java
+./gemini/src/main/java/GhVersion.java
+./gemini/src/main/java/home
+./gemini/src/main/java/home/entity
+./gemini/src/main/java/home/entity/GhDataEntity.java
+./gemini/src/main/java/home/entity/World.java
+./gemini/src/main/java/home/entity/CachedWorld.java
+./gemini/src/main/java/home/entity/Fortune.java
+./gemini/src/main/java/home/handler
+./gemini/src/main/java/home/handler/HelloHandler.java
+./gemini/src/main/webapp/
+./gemini/src/main/webapp/WEB-INF
+./gemini/src/main/webapp/WEB-INF/mustache
+./gemini/src/main/webapp/WEB-INF/mustache/layout.mustache
+./gemini/src/main/webapp/WEB-INF/mustache/fortunes.mustache
+./gemini/src/main/webapp/WEB-INF/robots-disallowed.txt
+./gemini/src/main/webapp/WEB-INF/web.xml
+./gemini/src/main/webapp/WEB-INF/gemini.conf
+./gemini/src/main/webapp/WEB-INF/gemini-mysql.conf
+./gemini/src/main/webapp/WEB-INF/gemini-postgres.conf
+./gemini/src/main/webapp/WEB-INF/robots-allowed.txt

+ 0 - 0
frameworks/Java/gemini/Source/hello/GhApplication.java → frameworks/Java/gemini/src/main/java/GhApplication.java


+ 0 - 0
frameworks/Java/gemini/Source/hello/GhServlet.java → frameworks/Java/gemini/src/main/java/GhServlet.java


+ 0 - 0
frameworks/Java/gemini/Source/hello/GhVersion.java → frameworks/Java/gemini/src/main/java/GhVersion.java


+ 0 - 0
frameworks/Java/gemini/Source/hello/home/entity/CachedWorld.java → frameworks/Java/gemini/src/main/java/home/entity/CachedWorld.java


+ 0 - 0
frameworks/Java/gemini/Source/hello/home/entity/Fortune.java → frameworks/Java/gemini/src/main/java/home/entity/Fortune.java


+ 0 - 0
frameworks/Java/gemini/Source/hello/home/entity/GhDataEntity.java → frameworks/Java/gemini/src/main/java/home/entity/GhDataEntity.java


+ 0 - 0
frameworks/Java/gemini/Source/hello/home/entity/World.java → frameworks/Java/gemini/src/main/java/home/entity/World.java


+ 0 - 0
frameworks/Java/gemini/Source/hello/home/handler/HelloHandler.java → frameworks/Java/gemini/src/main/java/home/handler/HelloHandler.java


+ 0 - 0
frameworks/Java/gemini/Docroot/WEB-INF/gemini-mysql.conf → frameworks/Java/gemini/src/main/webapp/WEB-INF/gemini-mysql.conf


+ 0 - 0
frameworks/Java/gemini/Docroot/WEB-INF/gemini-postgres.conf → frameworks/Java/gemini/src/main/webapp/WEB-INF/gemini-postgres.conf


+ 0 - 0
frameworks/Java/gemini/Docroot/WEB-INF/gemini.conf → frameworks/Java/gemini/src/main/webapp/WEB-INF/gemini.conf


+ 0 - 0
frameworks/Java/gemini/Docroot/WEB-INF/mustache/fortunes.mustache → frameworks/Java/gemini/src/main/webapp/WEB-INF/mustache/fortunes.mustache


+ 0 - 0
frameworks/Java/gemini/Docroot/WEB-INF/mustache/layout.mustache → frameworks/Java/gemini/src/main/webapp/WEB-INF/mustache/layout.mustache


+ 0 - 0
frameworks/Java/gemini/Docroot/WEB-INF/robots-allowed.txt → frameworks/Java/gemini/src/main/webapp/WEB-INF/robots-allowed.txt


+ 0 - 0
frameworks/Java/gemini/Docroot/WEB-INF/robots-disallowed.txt → frameworks/Java/gemini/src/main/webapp/WEB-INF/robots-disallowed.txt


+ 0 - 0
frameworks/Java/gemini/Docroot/WEB-INF/web.xml → frameworks/Java/gemini/src/main/webapp/WEB-INF/web.xml