Skip to Content
Product Information

Cloud Shipment: A small step for us, but a huge leap for the community

Happy new year, everyone! To start off this year, I have amazing news to share: After months of planning, reviews and implementation, I am more than proud to announce that the SAP Cloud Platform SDK for Android is available on the all-new SAP Cloud Shipment channel starting with version 1.1.4*. Now, I assume you are still sitting in your chair because I absolutely haven’t explained what it is and why this will bring tremendous agility and momentum to your development teams.

Let’s start with what this all-new shipment channel is. Traditionally, due to an array of legal and export-related requirements, our mobile SDKs have been distributed as installation software, meaning that each developer workstation, each container and each virtual machine ever building software using our SDKs would need to come installed with those. In essence, this implies additional setup time and cost per new build server, developer and workstation. Now, in 2019, we are finally able to offer a better alternative similar to well-known public repositories such as Maven Central, Bintray and JCenter: The SAP Cloud Shipment channel. In this very specific case of the Android SDK, we are talking about a customer-facing Maven repository that you can configure in your projects to consume the Cloud Platform SDK for Android without any additional manual downloads.  So how does the process work?

Fig. 1: SAP Repositories Management technical users view

First, you will need to obtain a technical user on SAP Repositories Management as shown in Figure 1 and download the password file. Secondly, need to add the user name and password to your system environment variables as SAP_MAVEN_USER and SAP_MAVEN_PASSWORD, respectively.

Finally, simply add an init.gradle file to your $HOME/.gradle (*nix) or %USERPROFILE%\.gradle (Windows) folder with the following contents:

// $HOME/.gradle/gradle.init
allprojects {
  ext.SAPRepoConfig = {
    maven {
      url "https://73555000100900002360.maven.repositories.sapcdn.io"
      credentials {
        username "$System.env.SAP_MAVEN_USER"
        password "$System.env.SAP_MAVEN_PASSWORD"
      }
    }
  }
  buildscript.repositories SAPRepoConfig
  repositories SAPRepoConfig
}

Fig. 2: User-global init.gradle configuration

This will add our repository to your user-global Gradle configuration. From now on you can simply add Cloud Platform SDK for Android dependencies to your module build.gradle files and Gradle will happily fetch the libraries via our infrastructure:

// <project root>/app/build.gradle

dependencies {
  ...

  // SAP Cloud Android SDK dependencies
  implementation group: 'com.sap.cloud.android', name: 'fiori', version: '1.1.4'
  implementation group: 'com.sap.cloud.android', name: 'onboarding', version: '1.1.4'
  implementation group:'com.sap.cloud.android', name:'odata', version: '1.1.4'
  implementation group: 'com.sap.cloud.android', name: 'foundation', version: '1.1.4'

  ...
}

Fig. 3: Project dependency configuration

Now for the best part – those settings are super easy to add to Continuous Integration pipelines and build servers as well, so you’ll no longer need to babysit your build infrastructure. Stay tuned for updated content in the SAP Continuous Integration guides as well!

 

*Note: Access to this service requires licensed access to SAP Cloud Platform SDK for Android, e.g. by means of subscribing to SAP Cloud Platform Mobile Services, and a valid S-user for external staff. This service is not available for Trial versions of the SDK.

 

Edit: Adding a note that the technical user password needs to be downloaded and convenience copy-paste gradle.init contents

Edit: Replacing screenshots with code blocks

2 Comments
You must be Logged on to comment or reply to a post.
  • I can not express my excitement about this. Seriously, it sounds like a small improvement, but it is really a huge step.

    And if you have the chance to catch Michael during an event, like TechEd or DSAG Technologietage, ask him about what it took to make this happen….”small step for us” 😉

    -Martin