Skip to content

Commit

Permalink
Initial Release
Browse files Browse the repository at this point in the history
  • Loading branch information
pallavikar committed Jun 19, 2020
0 parents commit aca6967
Show file tree
Hide file tree
Showing 11 changed files with 833 additions and 0 deletions.
23 changes: 23 additions & 0 deletions Documentation/Installation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Installation

## Installing on Windows® and Linux
The easiest way to install this package and required dependencies for Google Cloud Product Interfaces is to clone the top-level repository using:

```bash
git clone --recursive https://github.com/mathworks-ref-arch/matlab-gcp-common.git
```

### Build the google-cloud SDK for Java components
The MATLAB code uses the Google Cloud client library for Java and can be built using:
```bash
cd matlab-gcp-common/Software/Java
mvn clean package
```

Once built, change directory to the ```Software/MATLAB``` folder and use the ```startup.m``` function to initialize the interface for all other Google cloud interfaces.
```bash
cd matlab-gcp-common/Software/MATLAB
startup
```

[//]: # (Copyright 2020 The MathWorks, Inc.)
7 changes: 7 additions & 0 deletions Documentation/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# MATLAB Interface *for Google Cloud Platform* Common Package
The code in this repository serves as common utility for building a Java SDK essential for other Google Cloud Product interfaces to function.

## Contents
1. [Building GCP SDK](Installation.md)

[//]: # (Copyright 2020 The MathWorks, Inc.)
17 changes: 17 additions & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
MATHWORKS CLOUD REFERENCE ARCHITECTURE LICENSE

The files in this GitHub repository refer to commercial software products and services, virtual machine images, and related materials of The MathWorks, Inc. (“MathWorks Programs”). MathWorks Programs are separately licensed under the MathWorks Software License Agreement, available in the desktop installation of the MathWorks Programs or in the virtual machine image. The files in this GitHub repository may also refer to third-party software licensed under separate terms provided by such third parties.

The following license terms apply only to the files in this GitHub repository, including files in this folder and its subfolders, and do not apply to MathWorks Programs. References to “software” and “code” in the following license terms refer to the files in this GitHub repository.

Copyright (c) 2020, The MathWorks, Inc.

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. In all cases, the software is, and all modifications and derivatives of the software shall be, licensed to you solely for use in conjunction with MathWorks products and service offerings.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 changes: 32 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# MATLAB® Interface *for Google Cloud Platform* Common Package

Common components used across MATLAB® interfaces for Google Cloud Platform™ services, for example Google Cloud Storage™.
Please refer to the [parent project](https://github.com/mathworks-ref-arch/mathworks-gcp-support) for usage instructions.

## Requirements
### MathWorks products
* Requires MATLAB release R2017b or later

### 3rd party products
* Google Cloud access
* Google Cloud Project service account

To build a required JAR file:
* [Maven](https://maven.apache.org/)
* JDK 8+

## Getting Started
Please refer to the documents in the [Documentation](Documentation/README.md) folder to get started, however in general the documentation that ships with each of the service interfaces will be of most relevance and the best place to start.

## License
Please see the [LICENSE.md](LICENSE.md) file in this GitHub repository.

## Enhancement Request
Provide suggestions for additional features or capabilities using the following link:
https://www.mathworks.com/products/reference-architectures/request-new-reference-architectures.html

## Support
Email: `[email protected]` or please log an issue.


[//]: # (Copyright 2020 The MathWorks, Inc.)
8 changes: 8 additions & 0 deletions RELEASENOTES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# MATLAB Interface *for Google Cloud Platform* Common Package
# Release Notes

## Release 0.1.0 (Jun 2020)
* Initial release as a standalone matlab-gcp-common package


[//]: # (Copyright 2020 The MathWorks, Inc.)
6 changes: 6 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Reporting Security Vulnerabilities

If you believe you have discovered a security vulnerability, please report it to
[[email protected]](mailto:[email protected]). Please see
[MathWorks Vulnerability Disclosure Policy for Security Researchers](https://www.mathworks.com/company/aboutus/policies_statements/vulnerability-disclosure-policy.html)
for additional information.
124 changes: 124 additions & 0 deletions Software/Java/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mathworks.sdk</groupId>
<artifactId>google-gcp-common-sdk</artifactId>
<packaging>jar</packaging>
<version>0.1.0</version>
<name>google-gcp-common-sdk</name>
<url>http://www.mathworks.com</url>

<dependencies>

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>

<!--google-cloud-storage -->
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-storage</artifactId>
<version>1.99.0</version>
</dependency>


</dependencies>

<organization>
<name>MathWorks</name>
<url>http://www.mathworks.com</url>
</organization>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>

<plugin>
<!-- Build an executable JAR -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<archive>
<manifest>
<mainClass>com.mathworks.sdk.gcp.Version</mainClass>
</manifest>
</archive>
<outputDirectory>../MATLAB/lib/jar</outputDirectory>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
<relocations>
<relocation>
<pattern>org.apache.http</pattern>
<shadedPattern>shaded.org.apache.http</shadedPattern>
</relocation>
<relocation>
<pattern>com.google.cloud.http.HttpTransportOption</pattern>
<shadedPattern>shaded.com.google.http.HttpTransportOption</shadedPattern>
</relocation>

<relocation>
<pattern>com.google.common</pattern>
<shadedPattern>shaded.com.google.common</shadedPattern>
</relocation>
<relocation>
<pattern>com.google.protobuf</pattern>
<shadedPattern>shaded.com.google.protobuf</shadedPattern>
</relocation>
<relocation>
<pattern>com.google.api-client</pattern>
<shadedPattern>shaded.com.google.api-client</shadedPattern>
</relocation>
<relocation>
<pattern>com.google.http-client</pattern>
<shadedPattern>shaded.com.google.http-client</shadedPattern>
</relocation>
<relocation>
<pattern>com.google.guava</pattern>
<shadedPattern>shaded.com.google.guava</shadedPattern>
</relocation>
<relocation>
<pattern>com.google.oauth-client</pattern>
<shadedPattern>shaded.com.google.oauth-client</shadedPattern>
</relocation>
</relocations>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

Loading

0 comments on commit aca6967

Please sign in to comment.