Skip to content

Latest commit

 

History

History
57 lines (46 loc) · 1.75 KB

File metadata and controls

57 lines (46 loc) · 1.75 KB

Map Reduce for Google App Engine

Library for running MapReduce on Google App Engine

Usage via Maven

  1. Add Worklytics org package repository:
      <repository>
        <id>worklytics</id>
        <name>Apache Maven Packages Published by Worklytics</name>
        <url>https://maven.pkg.github.com/Worklytics</url>
      </repository>
  2. Find the latest package at Worklytics's package repository and add dependency to your pom.xml:
    <dependency>
      <groupId>co.worklytics</groupId>
      <artifactId>appengine-mapreduce</artifactId>
      <version>0.10-SNAPSHOT</version> <!-- look this up --> 
    </dependency>

Building

Only Maven is currently supported.

Testing

First, set up an env variable APPENGINE_MAPREDUCE_CI_SERVICE_ACCOUNT_KEY as base64-encoded copy of a GCP Service Account key. The service account must have admin permissions for GCS in a project for which GCS APIs are enabled.

  • in IntelliJ, can be set via your Run Configurations for JUnit
  • in CI, we use a GitHub secret for this; see [.github/workflows/test-java.yml]

Then, too test the library:

mvn test

Distribution

To build binary for distribution:

mvn package

without tests (which take a long time):

mvn package -Dmaven.test.skip=TRUE

To deploy it:

  1. create a GitHub personal access token and put it in your /.m2/settings.xml, as described in GitHub's docs
  2. run the following (from the java/ subdirectory of the repo):
mvn deploy