-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add dependency versions and remove blockly submodule instructions #3401
base: master
Are you sure you want to change the base?
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -30,11 +30,14 @@ This is a quick guide to get started with the sources. More detailed instruction | |
|
||
### Dependencies | ||
|
||
You will need a full Java JDK (version 11, OpenJDK preferred; JRE is not enough) and [ant](http://ant.apache.org/) to compile the sources. | ||
You will need a full Java JDK (version 11, OpenJDK preferred; JRE is not enough) and [ant](http://ant.apache.org/) (version 1.10) to compile the sources. | ||
|
||
You will also need a copy of the [Google Cloud SDK](https://cloud.google.com/appengine/docs/standard/java/download) to run the development servers. | ||
You will also need a copy of the [Google Cloud SDK](https://cloud.google.com/appengine/docs/standard/java/download) to run the development servers. This SDK depends on Python 3.11 to run. | ||
|
||
If you want to make changes to the source, you are going to need to run an automated test suite, and for that you will also need [phantomjs](http://phantomjs.org/). Have a look at the testing section for more information. | ||
If you want to make changes to the sources, you will have to run an automated test suite, and for that you will also need | ||
a recent version of NodeJS (node 20+ works) and the Firefox browser installed on your machine. Have a look at the testing section for more information. | ||
|
||
Finally, if you want to make changes to the markdown docs you will need Ruby (versions 2.6 or 2.7). | ||
|
||
### Forking or cloning | ||
|
||
|
@@ -59,13 +62,11 @@ Finally, you will also have to make sure that you are ignoring files that need i | |
|
||
### Checkout dependencies | ||
|
||
App Inventor uses Blockly, the web-based visual programming editor from Google, as a core part of its editor. Blockly core is made available to App Inventor as a git submodule. The first time after forking or cloning the repository, you will need to perform the following commands: | ||
App Inventor uses the [Closure compiler](https://developers.google.com/closure/compiler) and the [Picrin](https://picrin.readthedocs.io/en/latest/) Scheme implementation. It is unlikely that most contributors will need to make changes to these dependencies, but if so, you can initialize and track these libraries as submodules. The first time after forking or cloning the repository, you can perform the following commands: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Technically it's the Closure Library we use as a submodule. Closure Compiler we just include as a JAR file. |
||
|
||
$ git submodule update --init | ||
|
||
For developers who will be working on Blockly within the context of App Inventor, the preferred checkout procedure is to perform a `git submodule init`, edit the `.git/config` file to use the read/write SSH URL for [MIT CML's Blockly fork](https://github.com/mit-cml/blockly) instead of the public read-only HTTPS URL assumed by default (to support pushing changes). After changing `.git/config`, a `git submodule update` will pull the repository. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Even though we don't use the submodule anymore, ut would be nice to keep around the information that we currently use a (minimally) forked version of Blockly that lives at https://github.com/mit-cml/blockly and is currently in the rc/10.5.0 branch of that repo. |
||
|
||
If you need to switch back to a branch that does contains the Blockly and Closure Library sources in the tree, you will need to run the command: | ||
If you need to switch back to a branch that does contains the dependencies in the tree, you will need to run the command: | ||
|
||
$ git submodule deinit --all | ||
|
||
|
@@ -185,7 +186,7 @@ Before entering or scanning the QR code in the Companion, check the box labeled | |
|
||
### Running tests | ||
|
||
The automated tests depend on [Phantomjs](http://phantomjs.org/). Make sure you install it and add it to your path. After that, you can run all tests by typing the following in a terminal window: | ||
The automated tests depend on NodeJS (version 20+) and Firefox, which will be used in headless mode. After that, you can run all tests by typing the following in a terminal window (note you can optionally skip iOS tests with -Dskip.ios=true): | ||
|
||
$ ant tests | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should mention that when setting up the gcloud cli it may ask whether they want a Python 3.11 installation for compatibility at which point they can install it.