forked from chipKIT32/chipKIT-core
-
Notifications
You must be signed in to change notification settings - Fork 2
/
build_instructions.txt
48 lines (36 loc) · 4.45 KB
/
build_instructions.txt
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
These are just reminders for anyone doing an official chipKIT build what the steps are, they are not meant to be exhaustive step by step instructions.
A) Normally we will try and code review any outstanding pull requests, get chipKIT-Bot to build them, and test the code that has changed, then merged them in.
B) Then we will pull the latest repo revisions down from GitHub to our local repo.
C) If the chipKIT-core is the only piece that needs to be updated in the new chipKIT-core version, then follow the instructions below to build a new chipKIT-core version. If the compiler or the other tools (pic32prog or drivers) need to be updated as well, then follow the instructions lower down.
===============
To Build the core chipKIT-core files (libraries, variants, etc.):
The general idea here is to have ant build a zip file that contains all of the chipKIT-core files, upload that zip file to GitHub as a release binary image, edit the package_chipkit_index.json file to point to the new release, and then commit the new json file. Arduino IDE will read that json file every time the user opens the board manager, and the IDE will pick up the new version there and give the user the choice to update to the new version. The IDE then uses the paths in the json file to download the zip file and expand it locally.
Requirements: Must have Ant installed and working (http://ant.apache.org/)
1) Manually update version.properties file - increment the CHIPKITCOREVER number, save it, then commit (no need to push yet)
2) Tag the whole repo, with a simple tag of the form "vX.Y.Z" where X Y and Z are the major, minor, and bugfix numbers
3) Push to GitHub, making sure to push the tag up. When you do the build, Ant will use the tag in the version string.
4) Open a command prompt in the repo
5) "ant clean-all"
6) "ant github-release" - this will build the zip file for uploading to GitHub as the release binary
7) Update the package_chipkit_index.json file:
* Copy/paste the top 'platform' section
* edit the top one to be the new version
* change the version number
* change the url (use the url pattern from previous releases)
* change the archiveFileName to the new zip file filename
* change the checksum (copy/paste checksum from .asc file in same directory as .zip file - leave "SHA-256:" in .json file
* change the size (file will be in \chipkit-core\tmp\ and you can right click and select Properties, then look at "Size" field)
8) Commit and push the updated .json file
9) From chipKIT-core GH page, click Releases tab, click Draft a new release. When you do this, select the new version tag that you created above.
10) Drag over the new release .zip and .asc files, add text to the new release and publish it (from GH web page)
11) Using the Arduino IDE, test that the new chipKIT-core version is recognized and can be installed by the IDE. If it can't go back to step 7 through 10 and fix whatever is wrong. (Normally just missed characters in the filename or such of the .json file)
12) Edit http://chipkit.net/wiki/index.php?title=ChipKIT_core_release_notes with all of the pull requests that have been merged since the last release. You can go to https://github.com/chipKIT32/chipKIT-core/pulls and filter on closed PRs, then look at the date of the last release and edit the wiki with summaries of each PR.
13) Do "ant dist-all" This will build all of the zip file builds for each platform.
14) Upload all of the new .zip files to AWS server
15) Edit http://chipkit.net/wiki/index.php?title=ChipKIT_core to reflect new zip file release build locations
=================
To update the chipKIT compiler
The compiler releases are stored at https://github.com/chipKIT32/chipKIT-compiler-builds/releases/download. Note that there are different binary releases for each platform we support. To add a new compiler in to the json file, copy and paste the whole "pic32-tools" section (from { to }) and then edit the top copy with all of the new values for the new compiler. Do this as part of step 7 above. Also modify the pic32-tools version that the new package version points to (in its toolsDependencies section) to point to the new version that you just created.
=================
To update the other tools (Like pic32prog or drivers)
Pic32prog is released as binaries from here : https://github.com/majenkotech/pic32prog-autotools/releases/download and drivers from here : https://github.com/chipKIT32/chipKIT-drivers/releases/download. Use the same approach as with the compiler, but do it to the drivers section