Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="UTF-8"?>
- <project name="DuckbladeNetwork" default="deploy">
- <property name="build.dir" value="build/" />
- <target name="clean">
- <delete dir="${build.dir}" />
- <mkdir dir="${build.dir}" />
- </target>
- <target name="get-project">
- <input message="Please choose a project"
- validargs="lobby,spleef"
- addproperty="project.name" />
- </target>
- <target name="get-server">
- <input message="Please choose a server"
- validargs="test,lobby,spleef"
- addproperty="server.name" />
- </target>
- <target name="get-credentials">
- <input message="Please enter the username of the server"
- defaultvalue="minecraft"
- addproperty="server.username" />
- <input message="Please enter the password of the server"
- addproperty="server.password" />
- </target>
- <target name="clean-plugins" depends="get-server, get-credentials, stop-server">
- <sshexec host="duckblade.com"
- username="${server.username}"
- password="${server.password}"
- trust="true"
- failonerror="false"
- command="rm -R /opt/msm/servers/${server.name}/plugins/" />
- <echo>Deleted plugin files on test server.</echo>
- <sshexec host="duckblade.com"
- username="${server.username}"
- password="${server.password}"
- trust="true"
- failonerror="false"
- command="mkdir /opt/msm/servers/${server.name}/plugins/" />
- </target>
- <target name="clean-world" depends="get-server, get-credentials, stop-server">
- <sshexec host="duckblade.com"
- username="${server.username}"
- password="${server.password}"
- trust="true"
- failonerror="false"
- command="rm -R /opt/msm/servers/${server.name}/world/"/>
- <echo>Deleted world files on test server.</echo>
- </target>
- <target name="clean-server" depends="get-server, get-credentials">
- <antcall target="clean-plugins" />
- <antcall target="clean-world" />
- </target>
- <target name="compile" depends="get-project">
- <mkdir dir="${build.dir}" />
- <property name="class.dir" value="${build.dir}/${project.name}/" />
- <mkdir dir="${class.dir}" />
- <echo>Compiling source files for project ${project.name}</echo>
- <path id="api-path">
- <fileset dir="." includes="*.jar" />
- </path>
- <javac srcdir="${project.name}/src"
- destdir="${build.dir}/${project.name}/"
- includeantruntime="no"
- includejavaruntime="no"
- classpath="api-path"
- target="${ant.java.version}"
- source="${ant.java.version}"
- compiler="javac${ant.java.version}"
- debug="true" >
- <classpath refid="api-path" />
- </javac>
- <echo>Compiled source files for project ${project.name}</echo>
- </target>
- <target name="compile-global" depends="">
- <mkdir dir="${build.dir}/global" />
- <property name="class.global.dir" value="${build.dir}/global/" />
- <mkdir dir="${class.global.dir}" />
- <echo>Compiling source files for project ${project.name}</echo>
- <path id="api-path">
- <fileset dir="." includes="*.jar" />
- <file file="dependencies/global/PermissionsEx.jar" />
- </path>
- <javac srcdir="global/src"
- destdir="${build.dir}/global/"
- includeantruntime="no"
- includejavaruntime="no"
- classpath="api-path"
- target="${ant.java.version}"
- source="${ant.java.version}"
- compiler="javac${ant.java.version}"
- debug="true" >
- <classpath refid="api-path" />
- </javac>
- <echo>Compiled source files for global plugin</echo>
- </target>
- <target name="jar" depends="get-project, compile">
- <mkdir dir="${build.dir}/jars" />
- <echo>Creating deployable jar file for project ${project.name}</echo>
- <jar destfile="${build.dir}/jars/${project.name}.jar">
- <fileset dir="${class.dir}" includes="**/*.class" />
- <fileset dir="${project.name}" includes="*.yml" />
- </jar>
- <echo>Created jar file for project ${project.name}</echo>
- </target>
- <target name="jar-global" depends="compile-global">
- <mkdir dir="${build.dir}/jars" />
- <echo>Creating deployable jar file for project ${project.name}</echo>
- <jar destfile="${build.dir}/jars/global.jar">
- <fileset dir="${class.global.dir}" includes="**/*.class" />
- <fileset dir="${project.name}" includes="*.yml" />
- </jar>
- <echo>Created jar file for global plugin</echo>
- </target>
- <target name="stop-server" depends="get-server, get-credentials">
- <sshexec host="duckblade.com"
- username="${server.username}"
- password="${server.password}"
- trust="true"
- command="msm ${server.name} stop" />
- <echo>Stopped remote server if it was running</echo>
- </target>
- <target name="start-server" depends="get-server, get-credentials">
- <sshexec host="duckblade.com"
- username="${server.username}"
- password="${server.password}"
- trust="true"
- command="msm ${server.name} start" />
- <echo>Started remote server if it was not already running</echo>
- </target>
- <target name="restart-server" depends="get-server, get-credentials">
- <antcall target="stop-server" />
- <antcall target="start-server" />
- </target>
- <target name="upload-jar" depends="get-server, get-project, get-credentials, jar">
- <scp file="${build.dir}/jars/${project.name}.jar"
- todir="${server.username}@duckblade.com:/opt/msm/servers/${server.name}/plugins/"
- password="${server.password}"
- trust="true" />
- </target>
- <target name="upload-dependencies" depends="get-server, get-project, get-credentials, jar-global">
- <scp todir="${server.username}@duckblade.com:/opt/msm/servers/${server.name}/plugins/"
- password="${server.password}"
- file="build/jars/global"
- trust="true">
- <fileset dir="dependencies/${project.name}" />
- <fileset dir="dependencies/global/" />
- </scp>
- </target>
- <target name="deploy" depends="get-server, get-project, get-credentials">
- <antcall target="stop-server" />
- <antcall target="clean-plugins" />
- <antcall target="upload-jar" />
- <antcall target="upload-dependencies" />
- <antcall target="start-server" />
- </target>
- </project>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement