Difference between revisions of "How to build Freeplane"

From Freeplane - free mind mapping and knowledge management software
(First steps: cd freeplane_framework/ant)
 
(14 intermediate revisions by 5 users not shown)
Line 1: Line 1:
==First steps==
+
[[Category:Coding]]
  
To build Freeplane, you can:
+
== Requirements ==
 +
* You need java 11 or later and gradle >= 6.0
  
# Get the source code in one of the following ways:
+
== Download gradle ==
#*   Download the freeplane_src archive from http://sourceforge.net/projects/freeplane/files/ ('''NOT''' the freeplane_srcpure archive -- this does not contain the external libraries required for the build.)
+
* Download gradle: https://gradle.org/releases/
#*  Check out the latest source code from the bzr repository (for bzr repository URLs, see below). Do one of the following, depending on whether you prefer a small checkout-directory size, or a repository having full history:
+
* Unzip to your home directory
#**    <code>bzr checkout --lightweight URL freeplane</code>  [no history, directory size ~ 30MB] '''OR'''
 
#**    <code>bzr clone URL freeplane</code>  [full history, directory size ~ 150MB]
 
#*   Update to the latest source code in the bzr repository.  From within the freeplane bzr directory:
 
#**    <code>bzr update</code>
 
# Build the source code, by typing the following commands:
 
#*  <code>cd freeplane_framework/ant</code>
 
#*  <code>ant</code>  [Without parameters, this defaults to 'dist' to build all targets. See the '''Using ant''' section below for more details.]
 
  
After the code finishes building, target files can be found inside the <code>freeplane_framework/dist</code> directory.
+
== Clone the freeplane repository ==
 +
git clone https://github.com/freeplane/freeplane.git
 +
cd freeplane
  
==Bazaar branches:==
+
== Run gradle ==
* Current development: <code>bzr://freeplane.bzr.sourceforge.net/bzrroot/freeplane/freeplane_program/trunk</code>
+
* Gradle wrapper files are intentionally not committed to the sources but git ignored so that you can add them yourself if you need them.
* Maintenance branch for 1.1 releases: <code>bzr://freeplane.bzr.sourceforge.net/bzrroot/freeplane/freeplane_program/release_branches/1_0_x</code>
+
$ ~/Downloads/gradle-6.0.1/bin/gradle build
  
Further information on the Bazaar repository used by Freeplane is available on the [[Bazaar howto]] wiki page.
+
== Run freeplane ==
 
+
  cd BIN
== Using ant ==
+
./freeplane.sh # linux
Building Freeplane requires that you have [http://ant.apache.org/ ant] installed on your computer. From the ant directory you can run <code>ant TARGET</code> where <code>TARGET</code> is one of the following:
+
  freeplane.bat
* build (create directory with binaries in freeplane/freeplane_framework/build)
 
* binzip (create binary zipfile in freeplane/freeplane_framework/dist)
 
* srczip (create source zipfile in freeplane/freeplane_framework/dist)
 
* installer (create windows installer in freeplane/freeplane_framework/dist)
 
* portableinstaller (create portable-windows installer in freeplane/freeplane_framework/dist)
 
* dmg4mac (create OS X DMG file in freeplane/freeplane_framework/dist)
 
 
 
Specifying no target will end up building all of the above targets.
 
 
 
If you wish to specify a destination build directory, you can do so by adding the <code>build</code> property as a commandline argument to ant:
 
* <code>ant -Dbuild=<destination directory> build</code> .
 
 
 
 
 
If you change some translation (.properties) files you may get an error like this:
 
 
 
check-translation:
 
[check-translation]
 
D:\Freeplane121\freeplane\viewer-resources\translations\Resources_en.properties requires formatting - content changed
 
BUILD FAILED
 
D:\Freeplane121\freeplane_framework\ant\build.xml:56: The following error occurred while executing this line:
 
D:\Freeplane121\freeplane_framework\ant\build.xml:37: The following error occurred while executing this line:
 
D:\Freeplane121\freeplane\ant\build.xml:50: The following error occurred while executing this line:
 
  D:\Freeplane121\freeplane\ant\build.xml:191: 1 files require proper formatting - run format-translation to fix
 
 
 
In this case you have to format the properties-Files.
 
 
 
This is done with
 
 
   
 
   
ant format-translation
+
== Create package ==
 
+
  ~/git2/freeplane(1.7.x u=)$ ~/Downloads/gradle-6.0.1/bin/gradle clean build dist
=== Ant options for building freeplane for upload on Source Forge servers ===
+
ls DIST
Please consider following settings
 
 
 
'''For building test versions:'''
 
  ant -Dminor=XX
 
*-Dminor=XX adds the testversion number to the file names for creating the test version.
 
 
 
'''For building stable versions:'''
 
ant -Dskip_bugreport=true
 
*-Dskip_bugreport=true excludes plugin bugreport from build.
 
'''Use option -Dskip_bugreport=true to exclude the bugreport plugin compiling the stable versions''' (not the testversions, alpha, beta and rc but only the final stable versions like the coming Freeplane 1.1.0).
 
*Similar -Dskip_PLUGIN options are available for skipping the other plugins like -Dskip_script=true but they are usually not needed.
 
  
[[Category:Developer_Documentation]]
+
== Configuring an IDE ==
 +
* See [[IDE setup| how to set up IDE]]

Latest revision as of 09:16, 28 June 2020


Requirements

  • You need java 11 or later and gradle >= 6.0

Download gradle

Clone the freeplane repository

git clone https://github.com/freeplane/freeplane.git
cd freeplane

Run gradle

  • Gradle wrapper files are intentionally not committed to the sources but git ignored so that you can add them yourself if you need them.

$ ~/Downloads/gradle-6.0.1/bin/gradle build

Run freeplane

cd BIN
./freeplane.sh # linux
freeplane.bat

Create package

~/git2/freeplane(1.7.x u=)$ ~/Downloads/gradle-6.0.1/bin/gradle clean build dist
ls DIST

Configuring an IDE