quickjs-tart

quickjs-based runtime for wallet-core logic
Log | Files | Refs | README | LICENSE

README.md (1735B)


      1 # Docker build instructions
      2 
      3 At Taler, we're deeply concerned about the reproducibility of our
      4 builds, and that's why we make use of Docker in order to ensure that
      5 our builds are consistent and replicable.
      6 
      7 ## 1. Environment variables
      8 
      9 So as not to store sensitive data such as private keys and login
     10 credentials (required for publishing to Maven Central) in our build
     11 scripts, we make use of an environment file not checked into the
     12 repository. In order to provide the necessary parameters to the Docker
     13 container, do the following:
     14 
     15 1. Rename the `env.example` file to `.env`.
     16 2. Fill-in the variables as instructed in the comments.
     17 
     18 ## 2. Build image and run build
     19 
     20 In order to automate even more the automation that the Docker image
     21 itself already provides, we make use of Docker Compose. The provided
     22 `docker-compose.yml` file will build the image, pick up the
     23 environment file and mount a volume that exposes the container's local
     24 Maven repository, so that you can test the artifacts before publishing
     25 them. All you have to do, is the following:
     26 
     27 ```bash
     28 cd docker-android/
     29 docker-compose up --build
     30 ```
     31 
     32 ## 3. Test Maven artifact locally
     33 
     34 Testing in production is not really a great idea. It is recommended
     35 that you first test your artifacts locally, before publishing them to
     36 Maven Central. Doing this will require modifying the top-level
     37 `build.gradle` of the Android app that uses this artifact:
     38 
     39 ```groovy
     40 allprojects {
     41     repositories {
     42         maven {
     43             url '<absolute-path-to-quickjs-tart>/.m2/repository/'
     44         }
     45         // ...
     46     }
     47 }
     48 ```
     49 
     50 Now, add the dependency to the module-level `build.gradle`:
     51 
     52 ```groovy
     53 dependencies {
     54     // ...
     55     implementation "net.taler.qtart:<version>@aar"
     56     // ...
     57 }
     58 ```