<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.

 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>developerstudio-distribution-parent</artifactId>
        <groupId>org.wso2.developerstudio</groupId>
        <version>4.0.0-SNAPSHOT</version>
    </parent>
    <artifactId>developerstudio-assembly-distributions</artifactId>
    <packaging>pom</packaging>
    <name>WSO2 Developer Studio :: Distribution</name>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <executions>
                    <execution>
                        <id>prepare-embedded-linux64-version</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <tasks>
                                <unwar dest="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/webapps/api" src="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/webapps/api.war"/>
                                <unwar dest="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/webapps/ws" src="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/webapps/ws.war"/>
                                <unwar dest="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/webapps/java-ca" src="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/webapps/java-ca.war"/>
                                <unwar dest="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/webapps/datasource" src="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/webapps/datasource.war"/>
                                <!--<unwar dest="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/webapps/api-docs-ui" src="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/webapps/api-docs-ui.war"/>-->
                                <delete file ="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/webapps/api/WEB-INF/classes/maven.json"/>
                                <copy file="${basedir}/resources/maven.json"
                                      tofile="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/conf/maven.json" />
                                <!--copying the developer studio license and README-->
                                <copy file="${basedir}/resources/LICENSE.txt"
                                      tofile="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/LICENSE.txt" />
                                <copy file="${basedir}/resources/README.md"
                                      tofile="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/README.md" />
                                <copy file="${basedir}/resources/DEVS_RELEASE_NOTES"
                                      tofile="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/DEVS_RELEASE_NOTES" />
                                <!--zip the che templates, when ned project templates are introduced in che need to update here-->
                                <zip destfile="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/samples/che-templates/web-spring-java-simple.zip"
                                     basedir="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/temp/che-templates/web-spring-java-simple" />
                                <zip destfile="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/samples/che-templates/web-struts-java-simple.zip"
                                     basedir="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/temp/che-templates/web-struts-java-simple" />
                                <zip destfile="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/samples/che-templates/web-tapestry-java-simple.zip"
                                     basedir="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/temp/che-templates/web-tapestry-java-simple" />
                                <zip destfile="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/samples/che-templates/web-vaadin-java-simple.zip"
                                     basedir="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/temp/che-templates/web-vaadin-java-simple" />
                                <zip destfile="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/samples/che-templates/web-velocity-java-simple.zip"
                                     basedir="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/temp/che-templates/web-velocity-java-simple" />
                                <zip destfile="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/samples/che-templates/web-wicket-java-simple.zip"
                                     basedir="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/temp/che-templates/web-wicket-java-simple" />
                                <zip destfile="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/samples/che-templates/web-grails-java-simple.zip"
                                     basedir="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/temp/che-templates/web-grails-java-simple" />
                                <zip destfile="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/samples/che-templates/web-groovy-java-simple.zip"
                                     basedir="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/temp/che-templates/web-groovy-java-simple" />
                                <zip destfile="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/samples/che-templates/web-gwt-java-simple.zip"
                                     basedir="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/temp/che-templates/web-gwt-java-simple" />
                                <zip destfile="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/samples/che-templates/web-jruby-java-simple.zip"
                                     basedir="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/temp/che-templates/web-jruby-java-simple" />
                                <zip destfile="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/samples/che-templates/web-jsf-java-simple.zip"
                                     basedir="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/temp/che-templates/web-jsf-java-simple" />
                                <zip destfile="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/samples/che-templates/web-jsp-java-basic.zip"
                                     basedir="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/temp/che-templates/web-jsp-java-basic" />
                                <zip destfile="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/samples/che-templates/web-jython-java-simple.zip"
                                     basedir="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/temp/che-templates/web-jython-java-simple" />
                                <zip destfile="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/samples/che-templates/web-lift-java-simple.zip"
                                     basedir="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/temp/che-templates/web-lift-java-simple" />
                                <zip destfile="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/samples/che-templates/web-shale-java-simple.zip"
                                     basedir="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/temp/che-templates/web-shale-java-simple" />

                                <delete dir ="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/temp/che-templates/web-shale-java-simple"/>
                                <delete dir ="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/temp/che-templates/web-lift-java-simple"/>
                                <delete dir ="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/temp/che-templates/web-jython-java-simple"/>
                                <delete dir ="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/temp/che-templates/web-jsp-java-basic"/>
                                <delete dir ="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/temp/che-templates/web-jsf-java-simple"/>
                                <delete dir ="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/temp/che-templates/web-jruby-java-simple"/>
                                <delete dir ="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/temp/che-templates/web-gwt-java-simple"/>
                                <delete dir ="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/temp/che-templates/web-groovy-java-simple"/>
                                <delete dir ="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/temp/che-templates/web-grails-java-simple"/>
                                <delete dir ="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/temp/che-templates/web-wicket-java-simple"/>
                                <delete dir ="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/temp/che-templates/web-velocity-java-simple"/>
                                <delete dir ="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/temp/che-templates/web-vaadin-java-simple"/>
                                <delete dir ="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/temp/che-templates/web-tapestry-java-simple"/>
                                <delete dir ="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/temp/che-templates/web-struts-java-simple"/>
                                <delete dir ="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/temp/che-templates/web-spring-java-simple"/>

                                <delete dir ="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/sdk-tools"/>
                                <delete file ="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/RUNNING_CheSDK.txt"/>
                                <delete file ="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/extInstall.bat"/>
                                <delete file ="${project.basedir}/../org.wso2.developerstudio.ide.assembly/target/${com.codenvy.sdk.version}/extInstall.sh"/>

                            </tasks>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>${maven.exec.plugin.version}</version>
                <executions>
                <execution>
                    <id>change-codenvy-configurations</id>
                    <phase>prepare-package</phase>
                    <goals>
                        <goal>java</goal>
                    </goals>
                    <configuration>
                        <mainClass>org.wso2.developerstudio.checonfigs.EclipseCheConfigurations</mainClass>
                        <arguments>
                            <argument>${devstudio.startup.port}</argument>
                            <argument>${devstudio.shutdown.port}</argument>
                            <argument>${basedir}/../org.wso2.developerstudio.ide.assembly//target/${com.codenvy.sdk.version}</argument>
                        </arguments>
                    </configuration>
                </execution>
                </executions>
            </plugin>
            <!--adding cef binaries for relevant packs-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.8</version>
                <executions>
                    <execution>
                        <id>copy-cef-binaries-linux</id>
                        <phase>validate</phase>
                        <goals>
                            <goal>unpack</goal>
                        </goals>
                        <configuration>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>org.wso2.developerstudio</groupId>
                                    <artifactId>cef-binary-linux-64</artifactId>
                                    <version>${cef.binary.version}</version>
                                    <type>zip</type>
                                    <overWrite>false</overWrite>
                                    <outputDirectory>
                                        ${basedir}/target/cef-binaries/${cef.binary.version}/linux-64
                                    </outputDirectory>
                                    <destFileName>linux64</destFileName>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                    <execution>
                        <id>copy-cef-binaries-win</id>
                        <phase>validate</phase>
                        <goals>
                            <goal>unpack</goal>
                        </goals>
                        <configuration>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>org.wso2.developerstudio</groupId>
                                    <artifactId>cef-binary-win-64</artifactId>
                                    <version>${cef.binary.version}</version>
                                    <type>zip</type>
                                    <overWrite>false</overWrite>
                                    <outputDirectory>
                                        ${basedir}/target/cef-binaries/${cef.binary.version}/win-64
                                    </outputDirectory>
                                    <destFileName>windows</destFileName>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                    <execution>
                        <id>copy-cef-binaries-mac</id>
                        <phase>validate</phase>
                        <goals>
                            <goal>unpack</goal>
                        </goals>
                        <configuration>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>org.wso2.developerstudio</groupId>
                                    <artifactId>cef-binary-mac-64</artifactId>
                                    <version>${cef.binary.version}</version>
                                    <type>zip</type>
                                    <overWrite>false</overWrite>
                                    <outputDirectory>
                                        ${basedir}/target/cef-binaries/${cef.binary.version}/mac-64
                                    </outputDirectory>
                                    <destFileName>macos64</destFileName>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <executions>
                    <execution>
                        <id>package-embedded-linux64-binary</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                        <configuration>
                            <appendAssemblyId>false</appendAssemblyId>
                            <updateOnly>false</updateOnly>
                            <descriptors>
                                <descriptor>
                                    ${basedir}/resources/descriptors/binary-archive_linux64.xml
                                </descriptor>
                            </descriptors>
                            <finalName>wso2-developer-studio-linux64-${developerstudio.release}</finalName>
                        </configuration>
                    </execution>
                    <execution>
                        <id>package-embedded-mac64-binary</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                        <configuration>
                            <appendAssemblyId>false</appendAssemblyId>
                            <updateOnly>false</updateOnly>
                            <descriptors>
                                <descriptor>
                                    ${basedir}/resources/descriptors/binary-archive_mac64.xml
                                </descriptor>
                            </descriptors>
                            <finalName>wso2-developer-studio-mac64-${developerstudio.release}</finalName>
                        </configuration>
                    </execution>
                    <execution>
                        <id>package-embedded-windows64-binary</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                        <configuration>
                            <appendAssemblyId>false</appendAssemblyId>
                            <updateOnly>false</updateOnly>
                            <descriptors>
                                <descriptor>
                                    ${basedir}/resources/descriptors/binary-archive_win64.xml
                                </descriptor>
                            </descriptors>
                            <finalName>wso2-developer-studio-windows64-${developerstudio.release}</finalName>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
                <execution>
                    <id>file-exists</id>
                    <phase>install</phase>
                    <goals>
                        <goal>run</goal>
                    </goals>
                    <configuration>
                        <target>
                            <delete dir="target/cef-binaries"/>
                        </target>
                    </configuration>
                </execution>
            </executions>
        </plugin>
        </plugins>
    </build>
</project>
