Skip to content

Instantly share code, notes, and snippets.

@FareesHussain
Last active March 9, 2021 00:33
Show Gist options
  • Save FareesHussain/81a5716abecc3540d17a217d07caa57c to your computer and use it in GitHub Desktop.
Save FareesHussain/81a5716abecc3540d17a217d07caa57c to your computer and use it in GitHub Desktop.

Instructions to build oppia using bazel

For linux and macOs only

This solution is a temproary hack to build oppia app if you are unable to build the app using oppia-bazel-setup-instructions Make sure you've installed bazel and other requirements

bazel --version
java --version
echo $ANDROID_HOME
which bazel

output

4.0.0
openjdk 11.0.10 2021-01-19
OpenJDK Runtime Environment (build 11.0.10+9-Ubuntu-0ubuntu1.18.04)
OpenJDK 64-Bit Server VM (build 11.0.10+9-Ubuntu-0ubuntu1.18.04, mixed mode, sharing)
/home/<user_name>/Android/Sdk
/usr/bin/bazel

Steps:

  1. Downlaod the pre-compiled oppia-bazel file from drive to the home directory.
  2. Add executable permission to oppia-bazel i.e, sudo chmod +x oppia-bazel
  3. Check if oppia-bazel is running ./oppia-bazel

    output:

    Usage: bazel <command> <options> ...
    
    Available commands:
      analyze-profile     Analyzes build profile data.
      aquery              Analyzes the given targets and queries the action graph.
      build               Builds the specified targets.
      canonicalize-flags  Canonicalizes a list of bazel options.
      clean               Removes output files and optionally stops the server.
      coverage            Generates code coverage report for specified test targets.
      cquery              Loads, analyzes, and queries the specified targets w/ configurations.
      dump                Dumps the internal state of the bazel server process.
      fetch               Fetches external repositories that are prerequisites to the targets.
      help                Prints help for commands, or the index.
      info                Displays runtime info about the bazel server.
      license             Prints the license of this software.
      mobile-install      Installs targets to mobile devices.
      print_action        Prints the command line args for compiling a file.
      query               Executes a dependency graph query.
      run                 Runs the specified target.
      shutdown            Stops the bazel server.
      sync                Syncs all repositories specified in the workspace file
      test                Builds and runs the specified test targets.
      version             Prints version information for bazel.
    
    Getting more help:
      bazel help <command>
                       Prints help and options for <command>.
      bazel help startup_options
                       Options for the JVM hosting bazel.
      bazel help target-syntax
                       Explains the syntax for specifying targets.
      bazel help info-keys
                       Displays a list of keys used by the info command.
  4. Now build the oppia app i.e, using the following commands
cd opensource/oppia-android
~/oppia-bazel build //:oppia
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment