forked from Pi4J/pi4j-v1
-
Notifications
You must be signed in to change notification settings - Fork 0
/
BUILD.INSTRUCTIONS
94 lines (63 loc) · 3.92 KB
/
BUILD.INSTRUCTIONS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
--------------------
PROJECT BUILD
--------------------
Use the following command to build the Pi4J Java libraries.
> mvn clean install
Use the following command to build the Pi4J Java libraries and the JNI native library.
(Note that building the native code requires a SSH connection to a Raspberry Pi with GCC
and WiringPi installed. The connection and credentials to access the Pi can be defined
in a custom user profile in the parent POM.XML file.)
> mvn clean install -P native -P hard-float
> mvn clean install -P native -P soft-float
Please note that the following prerequisites are required to be installed on your RaspberryPi
before the pi4j-native project can be compiled.
- gcc 4.6.3 or newer (sudo apt-get install gcc)
- git-core (sudo apt-get install git-core)
- A working JDK (OpenJDK or Oracle JDK) (sudo apt-get install openjdk-7-jdk | http://www.savagehomeautomation.com/pi-jdk)
- A valid defined JAVA_HOME environment variable
- wiringPi source and platform compiled binary (https://projects.drogon.net/raspberry-pi/wiringpi/download-and-install/)
Use the following command to deploy a snapshot build to the OSS Maven staging repository.
(Note, you must have a "sonatype-oss-snapshot-repo" site credentials defined in your private Maven settings.xml file.)
> mvn clean deploy (Java libraries only)
> mvn clean deploy --projects pi4j-native -P native -P hard-float (JNI native library for hard-float only)
> mvn clean deploy --projects pi4j-native -P native -P soft-float (JNI native library for soft-float only)
> mvn clean deploy --projects pi4j-native -P native -P soft-float -P hard-float (JNI native library for both hard-float and soft-float)
If changes or additions are made to the Java JNI classes, then you may need to regenerate the native JNI .H header files.
Use the following Maven command to regenerate the .H header source file.
(NOTE: This command must be executed inside the pi4j-native project, not at the parent project level.)
> mvn generate-sources -P native,generate-jni-headers
--------------------
DOWNLOADS
--------------------
Use the following Maven command to deploy the downloadable artifacts the Google Code project downloads page.
(Note, you must have "Google Code" project credentials defined in your private Maven settings.xml file.
Please see this README for detail on the Maven plugin performing this task:
http://code.google.com/p/maven-gcu-plugin/wiki/Usage)
> mvn clean install gcu:upload --projects pi4j-core,pi4j-distribution
--------------------
SITE DOCUMENTATION
--------------------
Use the following Maven command to locally generate project site documentation:
> mvn -N clean site
Use the following Maven command to generate and deploy the project site documentation to the Github pages.
(Note, you must have a "github" site credentials defined in your private Maven settings.xml file.
Please see this README for detail on the Maven plugin performing this task: https://github.com/github/maven-plugins/blob/master/README.md)
> mvn -N clean site ghSite:site
---------------------------
PUBLIC SNAPSHOT DEPLOYMENT
---------------------------
Use the following series of instructions to publish a public deployment of a snapshot build:
> mvn clean deploy -P native -P soft-float -P hard-float
> mvn gcu:upload --projects pi4j-distribution
> mvn -N clean site ghSite:site
---------------------------
PUBLIC RELEASE DEPLOYMENT
---------------------------
Use the following series of instructions to publish a public deployment of a release build:
- remove "-SNAPSHOT" from all project pom.xml files
> mvn clean deploy -Drelease-build -Dgpg.passphrase=your-passphrase
> mvn gcu:upload -Drelease-build --projects pi4j-distribution
> mvn -N clean site ghSite:site
- create source tag for release
- send release notification via @Pi4J on Twitter
- create next development source branch