minesweeper/pom.xml
author Jaroslav Tulach <jtulach@netbeans.org>
Tue, 04 Mar 2014 09:59:53 +0100
branchteavm
changeset 92 8697860c6af0
parent 91 c20135305ad2
child 94 9aab40420432
permissions -rw-r--r--
Use filtering to enabled/disable appropriate section in the index.html
     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <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">
     3   <modelVersion>4.0.0</modelVersion>
     4 
     5   <groupId>org.apidesign.demo</groupId>
     6   <artifactId>minesweeper</artifactId>
     7   <version>1.0-SNAPSHOT</version>
     8   <packaging>jar</packaging>
     9   <parent>
    10       <artifactId>demo</artifactId>
    11       <groupId>org.apidesign.html</groupId>
    12       <version>1.0-SNAPSHOT</version>
    13   </parent>
    14 
    15   <name>Mine Sweeper</name>
    16 
    17   <properties>
    18     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    19     <brwsr.startpage>pages/index.html</brwsr.startpage>
    20     <project.mainclass>org.apidesign.demo.minesweeper.Main</project.mainclass>
    21     <netbeans.compile.on.save>none</netbeans.compile.on.save>
    22   </properties>
    23   <build>
    24       <plugins>
    25           <plugin>
    26               <groupId>org.apache.maven.plugins</groupId>
    27               <artifactId>maven-compiler-plugin</artifactId>
    28               <version>2.3.2</version>
    29               <configuration>
    30                   <source>1.6</source>
    31                   <target>1.6</target>
    32               </configuration>
    33           </plugin>
    34           <plugin>
    35               <groupId>org.apache.maven.plugins</groupId>
    36               <artifactId>maven-jar-plugin</artifactId>
    37               <version>2.4</version>
    38               <configuration>
    39                   <archive>
    40                       <manifest>
    41                           <mainClass>${project.mainclass}</mainClass>
    42                           <addClasspath>true</addClasspath>
    43                           <classpathPrefix>lib/</classpathPrefix>
    44                       </manifest>
    45                   </archive>
    46               </configuration>
    47           </plugin>
    48           <plugin>
    49               <groupId>org.codehaus.mojo</groupId>
    50               <artifactId>exec-maven-plugin</artifactId>
    51               <version>1.2.1</version>
    52               <configuration>
    53                   <systemProperties>
    54                       <systemProperty>
    55                           <key>browser.rootdir</key>
    56                           <value>${basedir}/src/main/webapp/</value>
    57                       </systemProperty>
    58                   </systemProperties>
    59                   <mainClass>${project.mainclass}</mainClass>
    60               </configuration>
    61           </plugin>      
    62       </plugins>
    63   </build>
    64   <dependencies>
    65     <dependency>
    66         <groupId>org.netbeans.html</groupId>
    67         <artifactId>net.java.html.json</artifactId>
    68         <version>${net.java.html.version}</version>
    69     </dependency>
    70     <dependency>
    71         <groupId>org.netbeans.html</groupId>
    72         <artifactId>net.java.html.boot</artifactId>
    73         <version>${net.java.html.version}</version>
    74     </dependency>
    75     <dependency>
    76         <groupId>org.netbeans.html</groupId>
    77         <artifactId>net.java.html.sound</artifactId>
    78         <version>${net.java.html.version}</version>
    79     </dependency>
    80     <dependency>
    81         <groupId>org.netbeans.html</groupId>
    82         <artifactId>ko4j</artifactId>
    83         <version>${net.java.html.version}</version>
    84     </dependency>
    85     <dependency>
    86       <groupId>org.testng</groupId>
    87       <artifactId>testng</artifactId>
    88       <version>6.7</version>
    89       <scope>test</scope>
    90     </dependency>
    91   </dependencies>
    92   <profiles>
    93       <profile>
    94           <id>fxbrwsr</id>
    95           <activation>
    96               <activeByDefault>true</activeByDefault>
    97           </activation>
    98           <build>
    99             <plugins>
   100                 <plugin>
   101                     <artifactId>maven-assembly-plugin</artifactId>
   102                     <version>2.4</version>
   103                     <executions>
   104                         <execution>
   105                             <id>distro-assembly</id>
   106                             <phase>package</phase>
   107                             <goals>
   108                                 <goal>single</goal>
   109                             </goals>
   110                             <configuration>
   111                                 <descriptors>
   112                                     <descriptor>src/main/assembly/html.java.net.xml</descriptor>
   113                                 </descriptors>
   114                             </configuration>
   115                         </execution>
   116                     </executions>                
   117                 </plugin>      
   118             </plugins>
   119           </build>
   120           <dependencies>
   121             <dependency>
   122                 <groupId>org.netbeans.html</groupId>
   123                 <artifactId>net.java.html.boot.fx</artifactId>
   124                 <version>${net.java.html.version}</version>
   125                 <scope>runtime</scope>
   126             </dependency>
   127           </dependencies>
   128       </profile>
   129       <profile>
   130           <id>bck2brwsr</id>
   131           <activation>
   132               <property>
   133                   <name>brwsr</name>
   134                   <value>bck2brwsr</value>
   135               </property>
   136           </activation>
   137           <properties>
   138               <bck2brwsr>--</bck2brwsr>
   139           </properties>
   140           <build>
   141               <plugins>
   142                   <plugin>
   143                       <groupId>org.apidesign.bck2brwsr</groupId>
   144                       <artifactId>bck2brwsr-maven-plugin</artifactId>
   145                       <version>${bck2brwsr.version}</version>
   146                       <executions>
   147                           <execution>
   148                               <goals>
   149                                   <goal>brwsr</goal>
   150                               </goals>
   151                           </execution>
   152                       </executions>
   153                       <configuration>
   154                           <directory>${basedir}/src/main/webapp/</directory>
   155                           <startpage>${brwsr.startpage}</startpage>
   156                       </configuration>
   157                   </plugin>
   158                   <plugin>
   159                       <groupId>org.apache.maven.plugins</groupId>
   160                       <artifactId>maven-compiler-plugin</artifactId>
   161                       <configuration>
   162                           <compilerArguments>
   163                               <bootclasspath>netbeans.ignore.jdk.bootclasspath</bootclasspath>
   164                           </compilerArguments>
   165                       </configuration>
   166                   </plugin>
   167                   <plugin>
   168                       <artifactId>maven-assembly-plugin</artifactId>
   169                       <version>2.4</version>
   170                       <executions>
   171                           <execution>
   172                               <id>distro-assembly</id>
   173                               <phase>package</phase>
   174                               <goals>
   175                                   <goal>single</goal>
   176                               </goals>
   177                               <configuration>
   178                                   <descriptors>
   179                                       <descriptor>src/main/assembly/bck2brwsr.xml</descriptor>
   180                                   </descriptors>
   181                               </configuration>
   182                           </execution>
   183                       </executions>                
   184                   </plugin>      
   185               </plugins>
   186           </build>
   187           <dependencies>
   188               <dependency>
   189                   <groupId>org.apidesign.bck2brwsr</groupId>
   190                   <artifactId>emul</artifactId>
   191                   <version>${bck2brwsr.version}</version>
   192                   <classifier>rt</classifier>
   193               </dependency>
   194               <dependency>
   195                   <groupId>org.apidesign.bck2brwsr</groupId>
   196                   <artifactId>ko-bck2brwsr</artifactId>
   197                   <version>${bck2brwsr.version}</version>
   198                   <scope>runtime</scope>
   199               </dependency>
   200               <dependency>
   201                   <groupId>org.apidesign.bck2brwsr</groupId>
   202                   <artifactId>vm4brwsr</artifactId>
   203                   <classifier>js</classifier>
   204                   <type>zip</type>
   205                   <version>${bck2brwsr.version}</version>
   206                   <scope>provided</scope>
   207               </dependency>
   208           </dependencies>
   209       </profile>
   210       <profile>
   211           <id>dlvkbrwsr</id>
   212           <activation>
   213               <property>
   214                   <name>android.sdk.path</name>
   215               </property>
   216           </activation>
   217           <properties>
   218               <platform.version>4.1.1.4</platform.version>
   219               <android.plugin.version>3.7.0</android.plugin.version>
   220               <debug>false</debug>
   221           </properties>
   222           <dependencies>
   223               <dependency>
   224                   <groupId>com.google.android</groupId>
   225                   <artifactId>android</artifactId>
   226                   <version>${platform.version}</version>
   227                   <scope>provided</scope>
   228               </dependency>
   229               <dependency>
   230                   <groupId>org.netbeans.html</groupId>
   231                   <artifactId>ko-ws-tyrus</artifactId>
   232                   <version>${net.java.html.version}</version>
   233                   <exclusions>
   234                       <exclusion>
   235                           <artifactId>org.json-osgi</artifactId>
   236                           <groupId>de.twentyeleven.skysail</groupId>
   237                       </exclusion>
   238                   </exclusions>
   239               </dependency>
   240               <dependency>
   241                   <groupId>org.apidesign.html</groupId>
   242                   <artifactId>dlvkbrwsr</artifactId>
   243                   <version>0.1-SNAPSHOT</version>
   244                   <type>jar</type>
   245               </dependency>
   246           </dependencies>
   247           <build>
   248               <plugins>
   249                   <plugin>
   250                       <groupId>com.jayway.maven.plugins.android.generation2</groupId>
   251                       <artifactId>android-maven-plugin</artifactId>
   252                       <version>${android.plugin.version}</version>
   253                       <extensions>true</extensions>
   254                       <configuration>
   255                           <classifier>apk</classifier>
   256                           <attachJar>false</attachJar>
   257                           <apkDebug>debug</apkDebug>
   258                           <assetsDirectory>src/main/webapp</assetsDirectory>
   259                           <sdk>
   260                               <platform>16</platform>
   261                           </sdk>
   262                           <apk>
   263                               <metaIncludes>
   264                                   <metaInclude>services/org.apidesign.**</metaInclude>
   265                               </metaIncludes>
   266                           </apk>
   267                           <file>${project.build.directory}/${project.build.finalName}.apk</file>
   268                       </configuration>
   269                       <executions>
   270                           <execution>
   271                               <id>apk</id>
   272                               <goals>
   273                                   <goal>apk</goal>
   274                                   <goal>dex</goal>
   275                               </goals>
   276                           </execution>
   277                       </executions>
   278                   </plugin>
   279                   <plugin>
   280                       <groupId>org.apache.maven.plugins</groupId>
   281                       <artifactId>maven-install-plugin</artifactId>
   282                       <version>2.5.1</version>
   283                       <configuration>
   284                           <groupId>${project.groupId}</groupId>
   285                           <artifactId>${project.artifactId}</artifactId>
   286                           <version>${project.version}</version>
   287                           <file>${project.build.directory}/${project.build.finalName}.apk</file>
   288                           <packaging>apk</packaging>
   289                           <skip>true</skip>
   290                       </configuration>
   291                       <executions>
   292                           <execution>
   293                               <id>install-apk</id>
   294                               <phase>install</phase>
   295                               <goals>
   296                                   <goal>install-file</goal>
   297                               </goals>
   298                           </execution>
   299                       </executions>
   300                   </plugin>
   301               </plugins>
   302           </build>
   303       </profile>
   304       <profile>
   305           <id>teabrwsr</id>
   306           <properties>
   307               <teabrwsr>--</teabrwsr>
   308           </properties>
   309           <build>
   310               <plugins>
   311                   <plugin>
   312                       <groupId>org.teavm</groupId>
   313                       <artifactId>teavm-maven-plugin</artifactId>
   314                       <version>0.0.1-SNAPSHOT</version>
   315                       <dependencies>
   316                           <dependency>
   317                               <groupId>org.teavm</groupId>
   318                               <artifactId>teavm-classlib</artifactId>
   319                               <version>0.0.1-SNAPSHOT</version>
   320                           </dependency>
   321                           <!-- This module adds html4j support. It mainly includes JavaScriptBuilder support.
   322                           Also there are some little patches to JCL emulation, that are required to pass TCK -->
   323                           <dependency>
   324                               <groupId>org.teavm</groupId>
   325                               <artifactId>teavm-html4j</artifactId>
   326                               <version>0.0.1-SNAPSHOT</version>
   327                           </dependency>
   328                       </dependencies>
   329                       <executions>
   330                           <execution>
   331                               <id>generate-minesweeper</id>
   332                               <goals>
   333                                   <goal>build-javascript</goal>
   334                               </goals>
   335                               <phase>process-classes</phase>
   336                               <configuration>
   337                                   <!-- Whether we want TeaVM to minify (obfuscate) the generated JavaScript -->
   338                                   <minifying>false</minifying>
   339                                   <mainClass>org.apidesign.demo.minesweeper.MinesModel</mainClass>
   340                                   <!-- Don't include main page - we created it by ourselves -->
   341                                   <mainPageIncluded>false</mainPageIncluded>
   342                                   <targetDirectory>${project.build.directory}/teavm</targetDirectory>
   343                                   <!-- This transformer adds null checks before virtual calls. It is not included
   344                                   by default as we don't always need these null checks -->
   345                                   <transformers>
   346                                       <param>org.teavm.javascript.NullPointerExceptionTransformer</param>
   347                                   </transformers>
   348                               </configuration>
   349                           </execution>
   350                       </executions>
   351                   </plugin>
   352                   <plugin>
   353                       <artifactId>maven-assembly-plugin</artifactId>
   354                       <version>2.4</version>
   355                       <executions>
   356                           <execution>
   357                               <id>distro-assembly</id>
   358                               <phase>package</phase>
   359                               <goals>
   360                                   <goal>single</goal>
   361                               </goals>
   362                               <configuration>
   363                                   <descriptors>
   364                                       <descriptor>src/main/assembly/teabrwsr.xml</descriptor>
   365                                   </descriptors>
   366                               </configuration>
   367                           </execution>
   368                       </executions>                
   369                   </plugin>      
   370               </plugins>
   371           </build>
   372       </profile>
   373   </profiles>  
   374 </project>