Компиляция без build.xml или как сделать - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Работа со скриптами

Работа со скриптами Помощь в редактировании и написании квестов к Java серверам, а так же эвентов.

Ответ
Опции темы
Непрочитано 18.01.2016, 03:34   #1
Пользователь

Автор темы (Топик Стартер) Компиляция без build.xml или как сделать

Заранее извиняюсь если пишу не в тот топик, но прошу не закидывать помидорами за мое нубство и т.д. Я это и сам понимаю. Хочется научиться, но особо мануалов нет, везде билд.хмл присутствует.
Собсно есть сурсы, но без build.xml. Сурсы, если что, interlude.su, и как наверное кто то знает, в шаровых нет build.xml. Да да, я уже понял что можно подогнать с другой сборки, но с какой и как это сделать? Заранее спасибо и прошу прощения, опять же, за нубство.
Sky03611 вне форума Ответить с цитированием
Непрочитано 18.01.2016, 05:04   #2
Аватар для Zubastic
ZG troll squad

По умолчанию Re: Компиляция без build.xml или как сделать

Хорошо, разберу build.xml от силентиумов, которые я когда-то пилил (я уже даже не помню, что там делал )
Код:
<?xml version="1.0" encoding="UTF-8"?>
<project name="Silentium" default="dist" basedir=".">
	<property name="src" location="java"/>
	<property name="lib" location="lib"/>
	<property name="build" location="build-ant"/>
	<property name="build.classes" location="${build}/classes"/>
	<property name="build.dist" location="${build}/dist"/>
	<property name="build.dist.auth" location="${build.dist}/authserver"/>
	<property name="build.dist.game" location="${build.dist}/gameserver"/>

	<path id="classpath">
		<fileset dir="${lib}">
			<include name="*.jar"/>
		</fileset>
	</path>

	<pathconvert property="manifest.libs" pathsep=" ">
		<path refid="classpath"/>
		<mapper>
			<chainedmapper>
				<flattenmapper />
				<globmapper from="*.jar" to="../libs/*.jar"/>
			</chainedmapper>
		</mapper>
	</pathconvert>

	<target name="init" depends="clean,checkRequirements" description="Create the output directories.">
		<mkdir dir="${build}"/>
		<mkdir dir="${build.classes}"/>
		<mkdir dir="${build.dist}"/>
		<mkdir dir="${build.dist.auth}"/>
		<mkdir dir="${build.dist.game}"/>
	</target>

	<target name="compile" depends="init" description="Compile the source.">
		<javac srcdir="${src}" classpathref="classpath" destdir="${build.classes}" compiler="javac1.7" debug="true" debuglevel="lines,vars,source" includeantruntime="false" source="1.7" target="1.7"/>
	</target>

	<target name="jar" depends="compile" description="Create the jar file.">
		<jar destfile="${build}/silentium-main.jar">
			<fileset dir="${build.classes}"/>
			<manifest>
				<attribute name="Main-Class" value="silentium.commons.Server"/>
				<attribute name="Class-Path" value="${manifest.libs}"/>
			</manifest>
		</jar>

		<copy todir="${build.dist.auth}/libs">
			<fileset dir="${build}">
				<include name="*.jar"/>
			</fileset>
		</copy>

		<copy todir="${build.dist.game}/libs">
			<fileset dir="${build}">
				<include name="*.jar"/>
			</fileset>
		</copy>
	</target>

	<target name="dist" depends="jar">
		<copy todir="${build.dist.auth}/libs">
			<fileset dir="${src}/../lib">
				<include name="*.jar"/>
			</fileset>
		</copy>

		<copy todir="${build.dist.game}/libs">
			<fileset dir="${src}/../lib">
				<include name="*.jar"/>
			</fileset>
		</copy>

		<copy todir="${build.dist.auth}">
			<fileset dir="dist">
				<include name="AuthServer_loop.sh"/>
				<include name="AuthServer.*"/>
			</fileset>
		</copy>

		<copy todir="${build.dist.game}">
			<fileset dir="dist">
				<include name="GameServer_loop.sh"/>
				<include name="GameServer.*"/>
			</fileset>
		</copy>

		<fixcrlf srcdir="${build.dist.game}" eol="lf" eof="remove" includes="**/*.sh"/>
		<fixcrlf srcdir="${build.dist.auth}" eol="lf" eof="remove" includes="**/*.sh"/>
		<fixcrlf srcdir="${build.dist.game}" eol="crlf" eof="remove" includes="**/*.bat"/>
		<fixcrlf srcdir="${build.dist.auth}" eol="crlf" eof="remove" includes="**/*.bat"/>

		<mkdir dir="${build.dist.game}/log"/>
		<mkdir dir="${build.dist.auth}/log"/>

		<mkdir dir="${build.dist.game}/config"/>
		<mkdir dir="${build.dist.auth}/config"/>

		<copy todir="${build.dist.game}/config">
			<fileset dir="config/game"/>
		</copy>

		<copy todir="${build.dist.auth}/config">
			<fileset dir="config/auth"/>
		</copy>

		<mkdir dir="${build.dist.game}/data"/>
		<copy todir="${build.dist.game}/data">
			<fileset dir="data"/>
		</copy>

		<mkdir dir="${build.dist}/tools"/>
		<copy todir="${build.dist}/tools">
			<fileset dir="tools"/>
		</copy>
	</target>

	<target name="clean" description="Remove the output directories.">
		<delete dir="${build}"/>
	</target>

	<target name="checkRequirements" description="Check requirements.">
		<echo>Verification of your JDK version.</echo>
		<available classname="java.lang.AutoCloseable" property="JDK7.present"/>
		<fail unless="JDK7.present" message="Java 1.7 is required, but your version is Java ${ant.java.version}. Install latest JDK."/>
	</target>
</project>
Изначально сборка делится на 2 вещи: датапак и исходники. Build.xml собирает это все воедино и зависит сугубо от того какая сборка используется.
Хранится Build.xml в корне исходников.

Используемые теги:
property - параметр, указывается обычно в начале, как пример: <property name="src" location="java"/> - папка java
target - параметр, приводящий к результату т.е. какому-то действию, будь то очистка папки или же компиляция, имеет name (название) и depends (зависимость, название другого target).
Собственно разобраться можно легко в примере выше и написать свое....
__________________
Zubastic вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 18.01.2016, 05:08   #3
Пользователь

Автор темы (Топик Стартер) Re: Компиляция без build.xml или как сделать

Спасибо большое за ответ. Буду пробовать. И еще вопрос. Видел тут в разделе мануалы видео или что то такое, где человек декомпильный файл в сборку вставлял через команду javac. Можем ли мы провернуть такое же имея исходный файл в java, и уже закомпилированное ядро?


Разобрался со всем. Спасибо zubastik. Тему можно Close

Последний раз редактировалось Sky03611; 18.01.2016 в 06:58.
Sky03611 вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Все о EVEmu (Информация, Компиляция, Установка) Monolit Другие игры / Other games 16 04.11.2011 19:54
Необходимо сделать инекцию в фаил l2.bin don1500 Игровой клиент 1 15.05.2011 23:38
Компиляция и настройка ScriptDev2 PROGRAMMATOR Документация 10 22.03.2010 22:05
Как сделать сделать перса админом? fiery Lineage II 4 18.10.2009 05:45
Помогите Общими усилиями Сделать кач. Сервак 2MB Lineage II 13 25.08.2008 03:47


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 14:44. Часовой пояс GMT +3.

Вверх