Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Nexus staging plugin for deployment #394

Merged
merged 3 commits into from
Jan 3, 2020

Conversation

khorshuheng
Copy link
Collaborator

I have added Nexus Staging Plugin for deployment to Maven central, and also change the group id to dev.feast, and Java sdk client artifact id to feast-sdk.

This is a work in progress. Have tested snapshot deployment, but have not tested it by importing the sdk into a new Java project.

@woop
Copy link
Member

woop commented Dec 28, 2019

@khorshuheng looks good. Is this mergeable or should we be waiting for more commits?

@khorshuheng
Copy link
Collaborator Author

@khorshuheng looks good. Is this mergeable or should we be waiting for more commits?

This can be merged safely, as the deploy to maven process has not been automated. The only impact of merging this would be, since i add the javadoc generation plugin, PR that has faulty Javadoc annotation will fail the tests (throw exception during package step).

With this PR one can deploy the snapshot version to OSSHR easily, using maven clean deploy.

There are a few things which i still need to check further, but i don't mind having them in separate PR:

  1. The Java proto package starts with feast.*, the Java SDK starts with com.gojek.feast. On the other hand, our project group id is dev.feast. Perhaps we might want to be more consistent about the package naming?

  2. Still need to test this manually by having a test application and import Feast SDK from Maven.

@khorshuheng
Copy link
Collaborator Author

@woop @davidheryanto
Harded coded the parent version as property substitution is not supported: http://maven.40175.n5.nabble.com/Pom-Parent-Version-Properties-td124576.html

Deployed snapshot 0.3.6 to sonatype and dependency is resolved successfully on a new Java project:

    <repositories>
        <repository>
            <id>oss.sonatype.org-snapshot</id>
            <url>http://oss.sonatype.org/content/repositories/snapshots</url>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>

    <dependencies>
    <dependency>
        <groupId>dev.feast</groupId>
        <artifactId>feast-sdk</artifactId>
        <version>0.3.6-SNAPSHOT</version>
    </dependency>
    </dependencies

@woop
Copy link
Member

woop commented Jan 3, 2020

/lgtm

@woop
Copy link
Member

woop commented Jan 3, 2020

/approved

@feast-ci-bot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: khorshuheng, woop

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@feast-ci-bot feast-ci-bot merged commit 3d44ad7 into feast-dev:master Jan 3, 2020
feast-ci-bot pushed a commit that referenced this pull request Jan 8, 2020
* Use Nexus staging plugin for deployment (#394)

* Use Nexus staging pluging for deployment

* Fix Javadoc error

* Hard coded parent version as variable substitution is not supported

* Introduce datatypes/java module for proto generation

Rather than the Maven protobuf plugin running on the same symlinked
definitions in several Java modules, localize this process into one
module that the others depend on.

This provides a single module that can be depended on by third-party
extensions with the bare minimum of dependencies.

Also removes proto files that are no longer used.

* Java SDK release script (#406)

* Use back revision variable in pom.xml
So user or CI system can easily override revision from external sources such as Git tag name

* Add flatten maven plugin
This plugin is useful during deployment so the final pom is resolved without parent dependency, i.e. we do not necessarily need to upload parent library

* Increase versions for maven source,javadoc,spotless plugins
So it has newer features and more fixes

* Add gpg-plugin needed to sign releases

* Use oss configure for flatten plugin, add developers info in pom.xml (required for releasing library

* Add publish-java-sdk script

* Add more logs to publish-java-sdk.sh

* Add ProwJob publish-java-sdk

* Use GPG_KEY_IMPORT_DIR variable

* Update revision in pom.xml to 0.4.2-SNAPSHOT

* Publish datatypes/java along with sdk/java

Co-authored-by: Khor Shu Heng <32997938+khorshuheng@users.noreply.github.com>
Co-authored-by: David Heryanto <david.heryanto@hotmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants