Jump to content

[solved]Compiling a mod as a Jar file


Kakarotvg

Recommended Posts

Generally you just package your compiled source and your resources together into a jar package (using the jar creator built into JVM). At least when you are creating a coremod, you need a META-INF folder and a MANIFEST.MF file to designate the main mod file. I assume that you are working with a regular mod, in which case I don't know how that step differs. You should be able to look that up without much trouble.

Link to comment
Share on other sites

Would anyone happen to know how to compile a mod as a jar, instead of a zip.

 

to all intents and purposes, a jar file is a zip file... if you zip it, and rename to a jar, it's a jar...

 

the differences become apparent when you want to sign the jar for security, and add meta data to the jar package... is that what you're needing to do it for?

 

 

edit... damn, hydro beat me to that :)

 

 

 

 

 

 

Link to comment
Share on other sites

i use an ant build... 

 

specifically, i modified pahimar's build.xml etc for my own purposes, since i started modding the other month following his setup...

 

his readme on his github here should be self-explanatory [it was for me] https://github.com/pahimar/Equivalent-Exchange-3

 

[ obviously modifying his instructions for compiling ee3 to suit your own project's paths etc ]

 

 

Link to comment
Share on other sites

i use an ant build... 

no actually ant build is super usefull

 

but i made my own script (in bash) that does the equivalent, zip, sign and upload to my server automaticly :P

 

@op if you care to learn ant it will be usefull, if you just want to do it the easy manual way, run those script

how to debug 101:http://www.minecraftforge.net/wiki/Debug_101

-hydroflame, author of the forge revolution-

Link to comment
Share on other sites

 

but i made my own script (in bash) that does the equivalent, zip, sign and upload to my server automaticly :P

 

 

:)

 

nice. to be honest, once i realised what the build.xml was actually instructing ant to do, i guess i could have done the same... bash is my friend :) but once i had ant doing it, i shrugged :) ... uploading it is a nice touch tho... i use a sshfs to my server, so that's trivial i guess [goes away to type in a terminal]

Link to comment
Share on other sites

when i try to run the build script with ant this is what i get

 

/Users/kakarotvg/Desktop/forge modding 1.6.1/Hand_of_Omega/build.xml:10: The element type "project" must be terminated by the matching end-tag "</project>".

if (You.likescoding == false){
      You.goaway;
}

Link to comment
Share on other sites

when i try to run the build script with ant this is what i get

 

/Users/kakarotvg/Desktop/forge modding 1.6.1/Hand_of_Omega/build.xml:10: The element type "project" must be terminated by the matching end-tag "</project>".

 

you've broken the xml somehow... either you've incorrectly terminated a quoted string, or generally hosed it... can't really tell without a pastebin of your xml... but it'll be something very silly like that... use an xml editor if possible, it should tell you

Link to comment
Share on other sites

xml code

 

 

 

<?xml version="1.0" ?>

<project name="Hand_of_Omega" default="build">

 

<property file="build.properties" prefix="build"/>

<property file="build_number.properties" prefix="build_number"/>

 

<target name="clean"/>

<delete dir="${build.dir.development}\forge\mcp\src\minecraft\" />

<delete dir="${build.dir.development}\mcp\reobf\minecraft" />

</target>

 

<target name="increment_build_number">

<propertyfile file="build_number.properties">

<entry key="build_number" type="int" operation="+" default="1"/>

</propertyfile>

</target>

 

<target name="prep">

<copy todir="${build.dir.development}\forge\mcp\src\minecraft">

<fileset dir="${build.dir.development}\Hand_of_Omega\Common\" />

</copy>

</target>

 

<target name="replace_tokens">

<replace dir="${build.dir.development}\mcp\src\minecraft" token="@VERSION@" value="${build.release.mod.version}" />

<replace dir="${build.dir.development}\mcp\src\minecraft" token="@FINGERPRINT@" value="${build.release.mod.fingerprint}" />

<replace dir="${build.dir.development}\mcp\src\minecraft" token="@BUILD_NUMBER@" value="${build_number.build_number}" />

</target>

 

<target name="recompile">

<exec dir="${build.dir.development}\forge\mcp" executable="cmd" osfamily="windows">

<arg line="/c recompile.bat" />

</exec>

<exec dir="${build.dir.development}\forge\mcp" executable="bash" osfamily="unix">

<arg line="recompile.sh" />

</exec>

</target>

 

<target name="reobfuscate">

<exec dir="${build.dir.development}\forge\mcp" executable="cmd" osfamily="windows">

<arg line="/c reobfuscate_srg.bat" />

</exec>

<exec dir="${build.dir.development}\forge\mcp" executable="bash" osfamily="unix">

<arg line="reobfuscate_srg.sh" />

</exec>

</target>

 

<target name="sign_jar">

<signjar jar="${build.dir.release}\${build.release.minecraft.version}\${build.release.mod.version}\handofomega-${build.release.mod.version}-${build_number.build_number}.jar" keystore="${build.keystore.location}" alias="${build.keystore.alias}" storepass="${build.keystore.password}" />

</target>

 

<target name="build">

<!-- Prep for the build -->

<antcall target="clean" />

<antcall target="increment_build_number" />

<antcall target="prep" />

<antcall target="recompile" />

<antcall target="reobfuscate" />

 

<!-- Build the jar -->

<mkdir dir="${build.dir.release}\${build.release.minecraft.version}\${build.release.mod.version}" />

<jar destfile="${build.dir.release}\${build.release.minecraft.version}\${build.release.mod.version}\handofomega-${build.release.mod.version}-${build_number.build_number}.jar">

<fileset dir="${build.dir.development}\forge\mcp\src\minecraft\" includes="mcmod.info" />

<fileset dir="${build.dir.development}\forge\mcp\reobf\minecraft" />

<fileset dir="${build.dir.development}\forge\source\Hand_of_Omega\Resources" excludes="**/xcf/**" />

</jar>

 

<!-- Clean up the MCP source now that we are done -->

<antcall target="clean" />

</target>

 

<target name="release">

<!-- Prep for the build -->

<antcall target="clean" />

<antcall target="increment_build_number" />

<antcall target="prep" />

<antcall target="replace_tokens" />

<antcall target="recompile" />

<antcall target="reobfuscate" />

 

<!-- Build the jar -->

<mkdir dir="${build.dir.release}\${build.release.minecraft.version}\${build.release.mod.version}" />

<jar destfile="${build.dir.release}\${build.release.minecraft.version}\${build.release.mod.version}\handofomega-${build.release.mod.version}-${build_number.build_number}.jar">

<fileset dir="${build.dir.development}\forge\mcp\src\minecraft\" includes="mcmod.info" />

<fileset dir="${build.dir.development}\forge\mcp\reobf\minecraft" />

<fileset dir="${build.dir.development}\Hand_of_Omega\Resources" excludes="**/xcf/**" />

</jar>

 

<!-- Sign the finished jar -->

<antcall target="sign_jar" />

 

<!-- Clean up the MCP source now that we are done -->

<antcall target="clean" />

</target>

</project>

 

 

if (You.likescoding == false){
      You.goaway;
}

Link to comment
Share on other sites

you can use xmllint on the command line in terminal...

 

and what it identifies is that you've closed "target" here:

 

  <target name="clean"/>

      <delete dir="${build.dir.development}\forge\mcp\src\minecraft\" />

      <delete dir="${build.dir.development}\mcp\reobf\minecraft" />

  </target>

 

take out that slash from the opening tag :)

 

 

[ edit: to clarify, xmllint is osx's xml commandline validator tool... i happen to use smultron as a general editor... but its xml validator seems to be lame ]

Link to comment
Share on other sites

for those wondering this was what worked

 

 

 

<?xml version="1.0" encoding="UTF-8" ?>

 

<project name="Hand of Omega" basedir="../" default="build">

   

<target name="build">

       

<delete dir="build" />

<delete dir="forge/mcp/reobf/minecraft" />

       

        <copy todir="forge/mcp/src/minecraft">

       

        <fileset dir="Hand_of_Omega/Common/">

           

        </fileset>

       

        </copy>

       

<mkdir dir="build" />

       

<exec executable="recompile.bat" dir="forge/mcp" resolveexecutable="true" osfamily="windows"></exec>

       

<exec executable="reobfuscate.bat" dir="forge/mcp" resolveexecutable="true" osfamily="windows"></exec>

       

<exec executable="recompile.sh" dir="forge/mcp" resolveexecutable="true" osfamily="unix"></exec>

       

<exec executable="reobfuscate.sh" dir="forge/mcp" resolveexecutable="true" osfamily="unix"></exec>

   

       

<jar destfile="build/Hand_of_Omega.jar">

           

<fileset dir="forge/mcp/reobf/minecraft" />

            <fileset dir="Hand_of_Omega/Resources"/>

           

</jar>

       

</target>

   

</project>

 

 

if (You.likescoding == false){
      You.goaway;
}

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Let me try and help you with love spells, traditional healing, native healing, fortune telling, witchcraft, psychic readings, black magic, voodoo, herbalist healing, or any other service your may desire within the realm of african native healing, the spirits and the ancestors. I am a sangoma and healer. I could help you to connect with the ancestors , interpret dreams, diagnose illness through divination with bones, and help you heal both physical and spiritual illness. We facilitate the deepening of your relationship to the spirit world and the ancestors. Working in partnership with one\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’s ancestors is a gift representing a close link with the spirit realm as a mediator between the worlds.*   Witchdoctors, or sorcerers, are often purveyors of mutis and charms that cause harm to people. we believe that we are here for only one purpose, to heal through love and compassion.*   African people share a common understanding of the importance of ancestors in daily life. When they have lost touch with their ancestors, illness may result or bad luck. Then a traditional healer, or sangoma, is sought out who may prescribe herbs, changes in lifestyle, a career change, or changes in relationships. The client may also be told to perform a ceremony or purification ritual to appease the ancestors.*   Let us solve your problems using powerful African traditional methods. We believe that our ancestors and spirits give us enlightenment, wisdom, divine guidance, enabling us to overcome obstacles holding your life back. Our knowledge has been passed down through centuries, being refined along the way from generation to generation. We believe in the occult, the paranormal, the spirit world, the mystic world.*   The services here are based on the African Tradition Value system/religion,where we believe the ancestors and spirits play a very important role in society. The ancestors and spirits give guidance and counsel in society. They could enable us to see into the future and give solutions to the problems affecting us. We use rituals, divination, spells, chants and prayers to enable us tackle the task before us.*   I have experience in helping and guiding many people from all over the world. My psychic abilities may help you answer and resolve many unanswered questions
    • Let me try and help you with love spells, traditional healing, native healing, fortune telling, witchcraft, psychic readings, black magic, voodoo, herbalist healing, or any other service your may desire within the realm of african native healing, the spirits and the ancestors. I am a sangoma and healer. I could help you to connect with the ancestors , interpret dreams, diagnose illness through divination with bones, and help you heal both physical and spiritual illness. We facilitate the deepening of your relationship to the spirit world and the ancestors. Working in partnership with one\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’s ancestors is a gift representing a close link with the spirit realm as a mediator between the worlds.*   Witchdoctors, or sorcerers, are often purveyors of mutis and charms that cause harm to people. we believe that we are here for only one purpose, to heal through love and compassion.*   African people share a common understanding of the importance of ancestors in daily life. When they have lost touch with their ancestors, illness may result or bad luck. Then a traditional healer, or sangoma, is sought out who may prescribe herbs, changes in lifestyle, a career change, or changes in relationships. The client may also be told to perform a ceremony or purification ritual to appease the ancestors.*   Let us solve your problems using powerful African traditional methods. We believe that our ancestors and spirits give us enlightenment, wisdom, divine guidance, enabling us to overcome obstacles holding your life back. Our knowledge has been passed down through centuries, being refined along the way from generation to generation. We believe in the occult, the paranormal, the spirit world, the mystic world.*   The services here are based on the African Tradition Value system/religion,where we believe the ancestors and spirits play a very important role in society. The ancestors and spirits give guidance and counsel in society. They could enable us to see into the future and give solutions to the problems affecting us. We use rituals, divination, spells, chants and prayers to enable us tackle the task before us.*   I have experience in helping and guiding many people from all over the world. My psychic abilities may help you answer and resolve many unanswered questions
    • Let me try and help you with love spells, traditional healing, native healing, fortune telling, witchcraft, psychic readings, black magic, voodoo, herbalist healing, or any other service your may desire within the realm of african native healing, the spirits and the ancestors. I am a sangoma and healer. I could help you to connect with the ancestors , interpret dreams, diagnose illness through divination with bones, and help you heal both physical and spiritual illness. We facilitate the deepening of your relationship to the spirit world and the ancestors. Working in partnership with one\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’s ancestors is a gift representing a close link with the spirit realm as a mediator between the worlds.*   Witchdoctors, or sorcerers, are often purveyors of mutis and charms that cause harm to people. we believe that we are here for only one purpose, to heal through love and compassion.*   African people share a common understanding of the importance of ancestors in daily life. When they have lost touch with their ancestors, illness may result or bad luck. Then a traditional healer, or sangoma, is sought out who may prescribe herbs, changes in lifestyle, a career change, or changes in relationships. The client may also be told to perform a ceremony or purification ritual to appease the ancestors.*   Let us solve your problems using powerful African traditional methods. We believe that our ancestors and spirits give us enlightenment, wisdom, divine guidance, enabling us to overcome obstacles holding your life back. Our knowledge has been passed down through centuries, being refined along the way from generation to generation. We believe in the occult, the paranormal, the spirit world, the mystic world.*   The services here are based on the African Tradition Value system/religion,where we believe the ancestors and spirits play a very important role in society. The ancestors and spirits give guidance and counsel in society. They could enable us to see into the future and give solutions to the problems affecting us. We use rituals, divination, spells, chants and prayers to enable us tackle the task before us.*   I have experience in helping and guiding many people from all over the world. My psychic abilities may help you answer and resolve many unanswered questions
    • Let me try and help you with love spells, traditional healing, native healing, fortune telling, witchcraft, psychic readings, black magic, voodoo, herbalist healing, or any other service your may desire within the realm of african native healing, the spirits and the ancestors. I am a sangoma and healer. I could help you to connect with the ancestors , interpret dreams, diagnose illness through divination with bones, and help you heal both physical and spiritual illness. We facilitate the deepening of your relationship to the spirit world and the ancestors. Working in partnership with one\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’s ancestors is a gift representing a close link with the spirit realm as a mediator between the worlds.*   Witchdoctors, or sorcerers, are often purveyors of mutis and charms that cause harm to people. we believe that we are here for only one purpose, to heal through love and compassion.*   African people share a common understanding of the importance of ancestors in daily life. When they have lost touch with their ancestors, illness may result or bad luck. Then a traditional healer, or sangoma, is sought out who may prescribe herbs, changes in lifestyle, a career change, or changes in relationships. The client may also be told to perform a ceremony or purification ritual to appease the ancestors.*   Let us solve your problems using powerful African traditional methods. We believe that our ancestors and spirits give us enlightenment, wisdom, divine guidance, enabling us to overcome obstacles holding your life back. Our knowledge has been passed down through centuries, being refined along the way from generation to generation. We believe in the occult, the paranormal, the spirit world, the mystic world.*   The services here are based on the African Tradition Value system/religion,where we believe the ancestors and spirits play a very important role in society. The ancestors and spirits give guidance and counsel in society. They could enable us to see into the future and give solutions to the problems affecting us. We use rituals, divination, spells, chants and prayers to enable us tackle the task before us.*   I have experience in helping and guiding many people from all over the world. My psychic abilities may help you answer and resolve many unanswered questions
    • Let me try and help you with love spells, traditional healing, native healing, fortune telling, witchcraft, psychic readings, black magic, voodoo, herbalist healing, or any other service your may desire within the realm of african native healing, the spirits and the ancestors. I am a sangoma and healer. I could help you to connect with the ancestors , interpret dreams, diagnose illness through divination with bones, and help you heal both physical and spiritual illness. We facilitate the deepening of your relationship to the spirit world and the ancestors. Working in partnership with one\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’s ancestors is a gift representing a close link with the spirit realm as a mediator between the worlds.*   Witchdoctors, or sorcerers, are often purveyors of mutis and charms that cause harm to people. we believe that we are here for only one purpose, to heal through love and compassion.*   African people share a common understanding of the importance of ancestors in daily life. When they have lost touch with their ancestors, illness may result or bad luck. Then a traditional healer, or sangoma, is sought out who may prescribe herbs, changes in lifestyle, a career change, or changes in relationships. The client may also be told to perform a ceremony or purification ritual to appease the ancestors.*   Let us solve your problems using powerful African traditional methods. We believe that our ancestors and spirits give us enlightenment, wisdom, divine guidance, enabling us to overcome obstacles holding your life back. Our knowledge has been passed down through centuries, being refined along the way from generation to generation. We believe in the occult, the paranormal, the spirit world, the mystic world.*   The services here are based on the African Tradition Value system/religion,where we believe the ancestors and spirits play a very important role in society. The ancestors and spirits give guidance and counsel in society. They could enable us to see into the future and give solutions to the problems affecting us. We use rituals, divination, spells, chants and prayers to enable us tackle the task before us.*   I have experience in helping and guiding many people from all over the world. My psychic abilities may help you answer and resolve many unanswered questions
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.