diff --git a/.idea/artifacts/GameOfLife_jar.xml b/.idea/artifacts/GameOfLife_jar.xml new file mode 100644 index 0000000000000000000000000000000000000000..00348b5d138a057ff3edeff32e607a18a67767e5 --- /dev/null +++ b/.idea/artifacts/GameOfLife_jar.xml @@ -0,0 +1,11 @@ +<component name="ArtifactManager"> + <artifact type="jar" name="GameOfLife:jar"> + <output-path>$PROJECT_DIR$/out/artifacts/GameOfLife_jar</output-path> + <root id="archive" name="GameOfLife.jar"> + <element id="module-output" name="GameOfLife" /> + <element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/glassfish/javax.json/1.1.4/javax.json-1.1.4.jar" path-in-jar="/" /> + <element id="extracted-dir" path="$MAVEN_REPOSITORY$/javax/json/javax.json-api/1.1.4/javax.json-api-1.1.4.jar" path-in-jar="/" /> + <element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/apiguardian/apiguardian-api/1.0.0/apiguardian-api-1.0.0.jar" path-in-jar="/" /> + </root> + </artifact> +</component> \ No newline at end of file diff --git a/.idea/jsonSchemas.xml b/.idea/jsonSchemas.xml new file mode 100644 index 0000000000000000000000000000000000000000..af0d520c3d28a23deee0c2692f82ef61b74850ab --- /dev/null +++ b/.idea/jsonSchemas.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="JsonSchemaMappingsProjectConfiguration"> + <state> + <map> + <entry key="JSON schema v4"> + <value> + <SchemaInfo> + <option name="name" value="JSON schema v4" /> + <option name="relativePathToSchema" value="http://json-schema.org/draft-04/schema" /> + <option name="applicationDefined" value="true" /> + <option name="patterns"> + <list> + <Item> + <option name="path" value="file://$USER_HOME$/Desktop/demo.json" /> + </Item> + </list> + </option> + </SchemaInfo> + </value> + </entry> + <entry key="JSON schema v7"> + <value> + <SchemaInfo> + <option name="name" value="JSON schema v7" /> + <option name="relativePathToSchema" value="http://json-schema.org/draft-07/schema" /> + <option name="schemaVersion" value="JSON schema version 7" /> + <option name="applicationDefined" value="true" /> + <option name="patterns"> + <list> + <Item> + <option name="path" value="file://$USER_HOME$/Desktop/demo.json" /> + </Item> + </list> + </option> + </SchemaInfo> + </value> + </entry> + </map> + </state> + </component> +</project> \ No newline at end of file diff --git a/gameoflife.properties b/gameoflife.properties new file mode 100644 index 0000000000000000000000000000000000000000..30bb2518200bcc0be89ef8bb50cb1eb7509c19d8 --- /dev/null +++ b/gameoflife.properties @@ -0,0 +1,4 @@ +path.variable.kotlin_bundled=C\:\\Users\\steye\\AppData\\Local\\JetBrains\\Toolbox\\apps\\IDEA-U\\ch-0\\193.5233.102\\plugins\\Kotlin\\kotlinc +path.variable.maven_repository=C\:\\Users\\steye\\.m2\\repository +jdk.home.13=C\:/Program Files/Java/jdk-13.0.1 +javac2.instrumentation.includeJavaRuntime=false \ No newline at end of file diff --git a/gameoflife.xml b/gameoflife.xml new file mode 100644 index 0000000000000000000000000000000000000000..43c4af51a4c004ea7a6046debdc2c179fe144324 --- /dev/null +++ b/gameoflife.xml @@ -0,0 +1,177 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="gameoflife" default="all"> + + + <property file="gameoflife.properties"/> + <!-- Uncomment the following property if no tests compilation is needed --> + <!-- + <property name="skip.tests" value="true"/> + --> + + <!-- Compiler options --> + + <property name="compiler.debug" value="on"/> + <property name="compiler.generate.no.warnings" value="off"/> + <property name="compiler.args" value=""/> + <property name="compiler.max.memory" value="700m"/> + <patternset id="ignored.files"> + <exclude name="**/*.hprof/**"/> + <exclude name="**/*.pyc/**"/> + <exclude name="**/*.pyo/**"/> + <exclude name="**/*.rbc/**"/> + <exclude name="**/*.yarb/**"/> + <exclude name="**/*~/**"/> + <exclude name="**/.DS_Store/**"/> + <exclude name="**/.git/**"/> + <exclude name="**/.hg/**"/> + <exclude name="**/.svn/**"/> + <exclude name="**/CVS/**"/> + <exclude name="**/__pycache__/**"/> + <exclude name="**/_svn/**"/> + <exclude name="**/vssver.scc/**"/> + <exclude name="**/vssver2.scc/**"/> + </patternset> + <patternset id="library.patterns"> + <include name="*.egg"/> + <include name="*.jar"/> + <include name="*.ear"/> + <include name="*.ane"/> + <include name="*.klib"/> + <include name="*.swc"/> + <include name="*.war"/> + <include name="*.zip"/> + </patternset> + <patternset id="compiler.resources"> + <exclude name="**/?*.java"/> + <exclude name="**/?*.form"/> + <exclude name="**/?*.class"/> + <exclude name="**/?*.groovy"/> + <exclude name="**/?*.scala"/> + <exclude name="**/?*.flex"/> + <exclude name="**/?*.kt"/> + <exclude name="**/?*.clj"/> + <exclude name="**/?*.aj"/> + </patternset> + + <!-- JDK definitions --> + + <property name="jdk.bin.13" value="${jdk.home.13}/bin"/> + <path id="jdk.classpath.13"> + <fileset dir="${jdk.home.13}"> + <include name="../jdk-13.0.1!/java.base"/> + <include name="../jdk-13.0.1!/java.compiler"/> + <include name="../jdk-13.0.1!/java.datatransfer"/> + <include name="../jdk-13.0.1!/java.desktop"/> + <include name="../jdk-13.0.1!/java.instrument"/> + <include name="../jdk-13.0.1!/java.logging"/> + <include name="../jdk-13.0.1!/java.management"/> + <include name="../jdk-13.0.1!/java.management.rmi"/> + <include name="../jdk-13.0.1!/java.naming"/> + <include name="../jdk-13.0.1!/java.net.http"/> + <include name="../jdk-13.0.1!/java.prefs"/> + <include name="../jdk-13.0.1!/java.rmi"/> + <include name="../jdk-13.0.1!/java.scripting"/> + <include name="../jdk-13.0.1!/java.se"/> + <include name="../jdk-13.0.1!/java.security.jgss"/> + <include name="../jdk-13.0.1!/java.security.sasl"/> + <include name="../jdk-13.0.1!/java.smartcardio"/> + <include name="../jdk-13.0.1!/java.sql"/> + <include name="../jdk-13.0.1!/java.sql.rowset"/> + <include name="../jdk-13.0.1!/java.transaction.xa"/> + <include name="../jdk-13.0.1!/java.xml"/> + <include name="../jdk-13.0.1!/java.xml.crypto"/> + <include name="../jdk-13.0.1!/jdk.accessibility"/> + <include name="../jdk-13.0.1!/jdk.aot"/> + <include name="../jdk-13.0.1!/jdk.attach"/> + <include name="../jdk-13.0.1!/jdk.charsets"/> + <include name="../jdk-13.0.1!/jdk.compiler"/> + <include name="../jdk-13.0.1!/jdk.crypto.cryptoki"/> + <include name="../jdk-13.0.1!/jdk.crypto.ec"/> + <include name="../jdk-13.0.1!/jdk.crypto.mscapi"/> + <include name="../jdk-13.0.1!/jdk.dynalink"/> + <include name="../jdk-13.0.1!/jdk.editpad"/> + <include name="../jdk-13.0.1!/jdk.hotspot.agent"/> + <include name="../jdk-13.0.1!/jdk.httpserver"/> + <include name="../jdk-13.0.1!/jdk.internal.ed"/> + <include name="../jdk-13.0.1!/jdk.internal.jvmstat"/> + <include name="../jdk-13.0.1!/jdk.internal.le"/> + <include name="../jdk-13.0.1!/jdk.internal.opt"/> + <include name="../jdk-13.0.1!/jdk.internal.vm.ci"/> + <include name="../jdk-13.0.1!/jdk.internal.vm.compiler"/> + <include name="../jdk-13.0.1!/jdk.internal.vm.compiler.management"/> + <include name="../jdk-13.0.1!/jdk.jartool"/> + <include name="../jdk-13.0.1!/jdk.javadoc"/> + <include name="../jdk-13.0.1!/jdk.jcmd"/> + <include name="../jdk-13.0.1!/jdk.jconsole"/> + <include name="../jdk-13.0.1!/jdk.jdeps"/> + <include name="../jdk-13.0.1!/jdk.jdi"/> + <include name="../jdk-13.0.1!/jdk.jdwp.agent"/> + <include name="../jdk-13.0.1!/jdk.jfr"/> + <include name="../jdk-13.0.1!/jdk.jlink"/> + <include name="../jdk-13.0.1!/jdk.jshell"/> + <include name="../jdk-13.0.1!/jdk.jsobject"/> + <include name="../jdk-13.0.1!/jdk.jstatd"/> + <include name="../jdk-13.0.1!/jdk.localedata"/> + <include name="../jdk-13.0.1!/jdk.management"/> + <include name="../jdk-13.0.1!/jdk.management.agent"/> + <include name="../jdk-13.0.1!/jdk.management.jfr"/> + <include name="../jdk-13.0.1!/jdk.naming.dns"/> + <include name="../jdk-13.0.1!/jdk.naming.rmi"/> + <include name="../jdk-13.0.1!/jdk.net"/> + <include name="../jdk-13.0.1!/jdk.pack"/> + <include name="../jdk-13.0.1!/jdk.rmic"/> + <include name="../jdk-13.0.1!/jdk.scripting.nashorn"/> + <include name="../jdk-13.0.1!/jdk.scripting.nashorn.shell"/> + <include name="../jdk-13.0.1!/jdk.sctp"/> + <include name="../jdk-13.0.1!/jdk.security.auth"/> + <include name="../jdk-13.0.1!/jdk.security.jgss"/> + <include name="../jdk-13.0.1!/jdk.unsupported"/> + <include name="../jdk-13.0.1!/jdk.unsupported.desktop"/> + <include name="../jdk-13.0.1!/jdk.xml.dom"/> + <include name="../jdk-13.0.1!/jdk.zipfs"/> + </fileset> + </path> + + <property name="project.jdk.home" value="${jdk.home.13}"/> + <property name="project.jdk.bin" value="${jdk.bin.13}"/> + <property name="project.jdk.classpath" value="jdk.classpath.13"/> + + + <!-- Project Libraries --> + + <path id="library.javax.json:javax.json-api:1.1.4.classpath"> + <pathelement location="${path.variable.maven_repository}/javax/json/javax.json-api/1.1.4/javax.json-api-1.1.4.jar"/> + </path> + + <path id="library.org.glassfish:javax.json:1.1.4.classpath"> + <pathelement location="${path.variable.maven_repository}/org/glassfish/javax.json/1.1.4/javax.json-1.1.4.jar"/> + </path> + <!-- Register Custom Compiler Taskdefs --> + <property name="javac2.home" value="${idea.home}/lib"/> + <path id="javac2.classpath"> + <fileset dir="${javac2.home}"> + <include name="javac2.jar"/> + <include name="jdom.jar"/> + <include name="asm-all*.jar"/> + <include name="forms-*.jar"/> + </fileset> + </path> + <target name="register.custom.compilers"> + <taskdef name="javac2" classname="com.intellij.ant.Javac2" classpathref="javac2.classpath"/> + <taskdef name="instrumentIdeaExtensions" classname="com.intellij.ant.InstrumentIdeaExtensions" classpathref="javac2.classpath"/> + </target> + + <!-- Modules --> + + <import file="${basedir}/module_gameoflife.xml"/> + + <target name="init" description="Build initialization"> + <!-- Perform any build initialization in this target --> + </target> + + <target name="clean" depends="clean.module.gameoflife" description="cleanup all"/> + + <target name="build.modules" depends="init, clean, compile.module.gameoflife" description="build all modules"/> + + <target name="all" depends="build.modules" description="build all"/> +</project> \ No newline at end of file diff --git a/module_gameoflife.xml b/module_gameoflife.xml new file mode 100644 index 0000000000000000000000000000000000000000..57b022c3808d4b6940a3f5709cd1624141ee53d7 --- /dev/null +++ b/module_gameoflife.xml @@ -0,0 +1,126 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="module_gameoflife" default="compile.module.gameoflife"> + <dirname property="module.gameoflife.basedir" file="${ant.file.module_gameoflife}"/> + + <property name="module.jdk.home.gameoflife" value="${project.jdk.home}"/> + <property name="module.jdk.bin.gameoflife" value="${project.jdk.bin}"/> + <property name="module.jdk.classpath.gameoflife" value="${project.jdk.classpath}"/> + + <property name="compiler.args.gameoflife" value="-encoding UTF-8 -source 13 -target 13 ${compiler.args}"/> + + <property name="gameoflife.output.dir" value="${module.gameoflife.basedir}/bin"/> + <property name="gameoflife.testoutput.dir" value="${module.gameoflife.basedir}/bin"/> + + <path id="gameoflife.module.bootclasspath"> + <!-- Paths to be included in compilation bootclasspath --> + </path> + + <path id="gameoflife.module.production.classpath"> + <path refid="${module.jdk.classpath.gameoflife}"/> + <pathelement location="${idea.home}/lib/junit.jar"/> + <pathelement location="${path.variable.maven_repository}/org/apiguardian/apiguardian-api/1.0.0/apiguardian-api-1.0.0.jar"/> + <pathelement location="${path.variable.maven_repository}/org/junit/jupiter/junit-jupiter-api/5.4.2/junit-jupiter-api-5.4.2.jar"/> + <pathelement location="${path.variable.maven_repository}/org/junit/jupiter/junit-jupiter-engine/5.4.2/junit-jupiter-engine-5.4.2.jar"/> + <pathelement location="${path.variable.maven_repository}/org/junit/jupiter/junit-jupiter-params/5.4.2/junit-jupiter-params-5.4.2.jar"/> + <pathelement location="${path.variable.maven_repository}/org/junit/jupiter/junit-jupiter/5.4.2/junit-jupiter-5.4.2.jar"/> + <pathelement location="${path.variable.maven_repository}/org/junit/platform/junit-platform-commons/1.4.2/junit-platform-commons-1.4.2.jar"/> + <pathelement location="${path.variable.maven_repository}/org/junit/platform/junit-platform-engine/1.4.2/junit-platform-engine-1.4.2.jar"/> + <pathelement location="${path.variable.maven_repository}/org/opentest4j/opentest4j/1.1.1/opentest4j-1.1.1.jar"/> + <path refid="library.javax.json:javax.json-api:1.1.4.classpath"/> + <path refid="library.org.glassfish:javax.json:1.1.4.classpath"/> + </path> + + <path id="gameoflife.runtime.production.module.classpath"> + <pathelement location="${idea.home}/lib/junit.jar"/> + <pathelement location="${gameoflife.output.dir}"/> + <pathelement location="${path.variable.maven_repository}/org/apiguardian/apiguardian-api/1.0.0/apiguardian-api-1.0.0.jar"/> + <pathelement location="${path.variable.maven_repository}/org/junit/jupiter/junit-jupiter-api/5.4.2/junit-jupiter-api-5.4.2.jar"/> + <pathelement location="${path.variable.maven_repository}/org/junit/jupiter/junit-jupiter-engine/5.4.2/junit-jupiter-engine-5.4.2.jar"/> + <pathelement location="${path.variable.maven_repository}/org/junit/jupiter/junit-jupiter-params/5.4.2/junit-jupiter-params-5.4.2.jar"/> + <pathelement location="${path.variable.maven_repository}/org/junit/jupiter/junit-jupiter/5.4.2/junit-jupiter-5.4.2.jar"/> + <pathelement location="${path.variable.maven_repository}/org/junit/platform/junit-platform-commons/1.4.2/junit-platform-commons-1.4.2.jar"/> + <pathelement location="${path.variable.maven_repository}/org/junit/platform/junit-platform-engine/1.4.2/junit-platform-engine-1.4.2.jar"/> + <pathelement location="${path.variable.maven_repository}/org/opentest4j/opentest4j/1.1.1/opentest4j-1.1.1.jar"/> + <path refid="library.javax.json:javax.json-api:1.1.4.classpath"/> + <path refid="library.org.glassfish:javax.json:1.1.4.classpath"/> + </path> + + <path id="gameoflife.module.classpath"> + <path refid="${module.jdk.classpath.gameoflife}"/> + <pathelement location="${idea.home}/lib/junit.jar"/> + <pathelement location="${gameoflife.output.dir}"/> + <pathelement location="${path.variable.maven_repository}/org/apiguardian/apiguardian-api/1.0.0/apiguardian-api-1.0.0.jar"/> + <pathelement location="${path.variable.maven_repository}/org/junit/jupiter/junit-jupiter-api/5.4.2/junit-jupiter-api-5.4.2.jar"/> + <pathelement location="${path.variable.maven_repository}/org/junit/jupiter/junit-jupiter-engine/5.4.2/junit-jupiter-engine-5.4.2.jar"/> + <pathelement location="${path.variable.maven_repository}/org/junit/jupiter/junit-jupiter-params/5.4.2/junit-jupiter-params-5.4.2.jar"/> + <pathelement location="${path.variable.maven_repository}/org/junit/jupiter/junit-jupiter/5.4.2/junit-jupiter-5.4.2.jar"/> + <pathelement location="${path.variable.maven_repository}/org/junit/platform/junit-platform-commons/1.4.2/junit-platform-commons-1.4.2.jar"/> + <pathelement location="${path.variable.maven_repository}/org/junit/platform/junit-platform-engine/1.4.2/junit-platform-engine-1.4.2.jar"/> + <pathelement location="${path.variable.maven_repository}/org/opentest4j/opentest4j/1.1.1/opentest4j-1.1.1.jar"/> + <path refid="library.javax.json:javax.json-api:1.1.4.classpath"/> + <path refid="library.org.glassfish:javax.json:1.1.4.classpath"/> + </path> + + <path id="gameoflife.runtime.module.classpath"> + <pathelement location="${idea.home}/lib/junit.jar"/> + <pathelement location="${gameoflife.output.dir}"/> + <pathelement location="${path.variable.maven_repository}/org/apiguardian/apiguardian-api/1.0.0/apiguardian-api-1.0.0.jar"/> + <pathelement location="${path.variable.maven_repository}/org/junit/jupiter/junit-jupiter-api/5.4.2/junit-jupiter-api-5.4.2.jar"/> + <pathelement location="${path.variable.maven_repository}/org/junit/jupiter/junit-jupiter-engine/5.4.2/junit-jupiter-engine-5.4.2.jar"/> + <pathelement location="${path.variable.maven_repository}/org/junit/jupiter/junit-jupiter-params/5.4.2/junit-jupiter-params-5.4.2.jar"/> + <pathelement location="${path.variable.maven_repository}/org/junit/jupiter/junit-jupiter/5.4.2/junit-jupiter-5.4.2.jar"/> + <pathelement location="${path.variable.maven_repository}/org/junit/platform/junit-platform-commons/1.4.2/junit-platform-commons-1.4.2.jar"/> + <pathelement location="${path.variable.maven_repository}/org/junit/platform/junit-platform-engine/1.4.2/junit-platform-engine-1.4.2.jar"/> + <pathelement location="${path.variable.maven_repository}/org/opentest4j/opentest4j/1.1.1/opentest4j-1.1.1.jar"/> + <path refid="library.javax.json:javax.json-api:1.1.4.classpath"/> + <path refid="library.org.glassfish:javax.json:1.1.4.classpath"/> + </path> + + + <patternset id="excluded.from.module.gameoflife"> + <patternset refid="ignored.files"/> + </patternset> + + <patternset id="excluded.from.compilation.gameoflife"> + <patternset refid="excluded.from.module.gameoflife"/> + </patternset> + + <path id="gameoflife.module.sourcepath"> + <dirset dir="${module.gameoflife.basedir}"> + <include name="src"/> + <include name="test"/> + </dirset> + </path> + + + <target name="compile.module.gameoflife" depends="compile.module.gameoflife.production,compile.module.gameoflife.tests" description="Compile module GameOfLife"/> + + <target name="compile.module.gameoflife.production" depends="register.custom.compilers" description="Compile module GameOfLife; production classes"> + <mkdir dir="${gameoflife.output.dir}"/> + <javac2 destdir="${gameoflife.output.dir}" debug="${compiler.debug}" nowarn="${compiler.generate.no.warnings}" memorymaximumsize="${compiler.max.memory}" fork="true" executable="${module.jdk.bin.gameoflife}/javac"> + <compilerarg line="${compiler.args.gameoflife}"/> + <bootclasspath refid="gameoflife.module.bootclasspath"/> + <classpath refid="gameoflife.module.production.classpath"/> + <src refid="gameoflife.module.sourcepath"/> + <patternset refid="excluded.from.compilation.gameoflife"/> + </javac2> + + <copy todir="${gameoflife.output.dir}"> + <fileset dir="${module.gameoflife.basedir}/src"> + <patternset refid="compiler.resources"/> + <type type="file"/> + </fileset> + <fileset dir="${module.gameoflife.basedir}/test"> + <patternset refid="compiler.resources"/> + <type type="file"/> + </fileset> + </copy> + </target> + + <target name="compile.module.gameoflife.tests" depends="register.custom.compilers,compile.module.gameoflife.production" description="compile module GameOfLife; test classes" unless="skip.tests"/> + + <target name="clean.module.gameoflife" description="cleanup module"> + <delete dir="${gameoflife.output.dir}"/> + <delete dir="${gameoflife.testoutput.dir}"/> + </target> +</project> \ No newline at end of file diff --git a/out/artifacts/GameOfLife_jar/GameOfLife.jar b/out/artifacts/GameOfLife_jar/GameOfLife.jar new file mode 100644 index 0000000000000000000000000000000000000000..05e78bacf998fd6d5369aa6fceb8581376a2c0dc Binary files /dev/null and b/out/artifacts/GameOfLife_jar/GameOfLife.jar differ diff --git a/src/META-INF/MANIFEST.MF b/src/META-INF/MANIFEST.MF new file mode 100644 index 0000000000000000000000000000000000000000..c89698d2872901bb2a217c652c5b14e46286e5d2 --- /dev/null +++ b/src/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Main-Class: game.Main +