Repository: incubator-hivemall Updated Branches: refs/heads/master 2da3f381a -> 131eb060a
http://git-wip-us.apache.org/repos/asf/incubator-hivemall/blob/131eb060/spark/spark-common/src/main/java/hivemall/ftvec/SortByFeatureUDFWrapper.java ---------------------------------------------------------------------- diff --git a/spark/spark-common/src/main/java/hivemall/ftvec/SortByFeatureUDFWrapper.java b/spark/spark-common/src/main/java/hivemall/ftvec/SortByFeatureUDFWrapper.java index 5cef504..584be6c 100644 --- a/spark/spark-common/src/main/java/hivemall/ftvec/SortByFeatureUDFWrapper.java +++ b/spark/spark-common/src/main/java/hivemall/ftvec/SortByFeatureUDFWrapper.java @@ -80,8 +80,6 @@ public class SortByFeatureUDFWrapper extends GenericUDF { @Override public Object evaluate(DeferredObject[] arguments) throws HiveException { assert (arguments.length == 1); - final Object arrayObject = arguments[0].get(); - final MapObjectInspector arrayOI = argumentOI; @SuppressWarnings("unchecked") final Map<IntWritable, FloatWritable> input = (Map<IntWritable, FloatWritable>) argumentOI.getMap(arguments[0].get()); return udf.evaluate(input); http://git-wip-us.apache.org/repos/asf/incubator-hivemall/blob/131eb060/src/site/markdown/contributing.md ---------------------------------------------------------------------- diff --git a/src/site/markdown/contributing.md b/src/site/markdown/contributing.md index 1b91e8f..d919261 100644 --- a/src/site/markdown/contributing.md +++ b/src/site/markdown/contributing.md @@ -28,7 +28,7 @@ $ cd hivemall # This is a workaround for resolving xgboost dependencies. -$ mvn validate -Pxgboost +$ mvn validate -Pcompile-xgboost $ mvn clean package ``` http://git-wip-us.apache.org/repos/asf/incubator-hivemall/blob/131eb060/src/site/markdown/download.md ---------------------------------------------------------------------- diff --git a/src/site/markdown/download.md b/src/site/markdown/download.md index 115cd60..8fcdcbf 100644 --- a/src/site/markdown/download.md +++ b/src/site/markdown/download.md @@ -17,6 +17,23 @@ under the License. --> -No release in Apache Incubator yet. +# Release History -Past releases of Hivemall can be found in [this page](https://github.com/myui/hivemall/releases). +Detailed ChangeLog of each version can be found in the JIRA link. + +| RELEASE | DATE | DESCRIPTION | COMMIT | DOWNLOAD | +|:--------|:-----|:------------|:-------|:---------| +| [0.5.0](https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12320630&version=12342155) | 2017-11-xx | The first Apache release. There are tremendous changes since [v0.4.2-rc.2](https://github.com/myui/hivemall/releases/tag/v0.4.2-rc.2) which is the last release before entering Apache Incubator. | xxxxxxx | tar (digest pgp)<br/>zip (digest pgp) | +| .. | .. | .. | .. | .. | + +Past releases of Apache Hivemall can be found in [this page](https://github.com/myui/hivemall/releases). + +# Release plan + +Here is the release plan of Apache Hivemall. Date of release subject to change though. + +| Version | Date | Description | +|:-------:|:----------:|:-----------| +| 0.5.2 | 2017-12-xx | ⢠Support [Field-aware Factorization Machines](https://github.com/apache/incubator-hivemall/pull/105)<br/> ⢠Support [Word2Vec](https://github.com/apache/incubator-hivemall/pull/116) | +| 0.6 | 2018-02-xx (Q1) | ⢠Make [experimental xgboost support](https://github.com/apache/incubator-hivemall/pull/95) official <br/> ⢠Support [Multi-nominal Logistic Regression](https://github.com/apache/incubator-hivemall/pull/93)<br/> and more | +| 0.7 | 2018-xx-xx (Q2~Q3) | ⢠Prediction server with REST APIs | http://git-wip-us.apache.org/repos/asf/incubator-hivemall/blob/131eb060/src/site/markdown/release-guide.md ---------------------------------------------------------------------- diff --git a/src/site/markdown/release-guide.md b/src/site/markdown/release-guide.md new file mode 100644 index 0000000..a29a1a8 --- /dev/null +++ b/src/site/markdown/release-guide.md @@ -0,0 +1,65 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + +<!-- toc --> + +# Apache Hivemall Release Guide + +This document describes the release process of Apache Hivemall particularly for [Release Managers](http://incubator.apache.org/guides/releasemanagement.html#glossary-release-manager). + +For general information of the Apache Incubator release process, please refer [Incubator Release Management](http://incubator.apache.org/guides/releasemanagement.html) and [ASF Release Poloicy](http://www.apache.org/dev/#releases) page. + +## Prerequisites + +If it is your first time doing an Apache release, then there is some initial setup involved. Follow [this guide](./release-setup.html) for the initial setup. + +1. Notifying the community the overall plan for the release +2. Ensure JIRA Issues are appropriately tagged for the Release + - Ensure that all JIRA issues that are addressed in this release are marked with the release version in the `FixVersion` field of the issue. + +# Making a release + +## Update ChangeLog + +1. Create a release note in JIRA following [this instructions](https://confluence.atlassian.com/adminjiraserver071/creating-release-notes-802592502.html). + +## TEST YOUR SETTINGS + +Try installing locally artifacts with activation apache-release profile. The following command will build artifacts, sources and sign. + +**Note:** _Apache Hivemall keeps compatibility to Java 7._ + +```sh +$ export JAVA_HOME=`/usr/libexec/java_home -v 1.7` +$ mvn validate -Pcompile-xgboost +$ mvn clean install -Papache-release +``` + +License check by Apache RAT (`mvn apache-rat:check`) will be ran by the above command. + + +## Create a branch for release + +## Create a Source Release + +## Upload the Source Release + +## Tag the release + +## Staging artifacts in Maven http://git-wip-us.apache.org/repos/asf/incubator-hivemall/blob/131eb060/src/site/markdown/release-setup.md ---------------------------------------------------------------------- diff --git a/src/site/markdown/release-setup.md b/src/site/markdown/release-setup.md new file mode 100644 index 0000000..0c9e07c --- /dev/null +++ b/src/site/markdown/release-setup.md @@ -0,0 +1,174 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + +# Release Prerequisites + +This document describes the initial setup procedures for making a release of Apache Hivemall. + +If it is your first time doing an Apache release, then there is some initial setup involved. You should read this page before proceeding. + +## Software + +You would need the following softwares for building and making a release: + +- gpg2 +- git client +- svn client (_svn is still mandatory in the ASF distribution process. Don't ask me why._) +- JDK 7 (_not JDK 8 nor 9 to support Java 7 or later_) +- maven (>=v3.3.1) + +### Installation + + # on Mac + $ brew install gpg gpg-agent pinentry-mac + $ brew intall svn + $ brew install maven + $ brew install npm + $ npm install gitbook-cli -g + +### Java 7 setup (Optional) + +We recommend to use [jEnv](http://www.jenv.be/) for Java 7 environment setup on Mac OS X. + + $ /usr/libexec/java_home -v 1.7 + /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home + $ jenv add `/usr/libexec/java_home -v 1.7` + $ jenv versions + * system (set by /Users/myui/.jenv/version) + 1.7 + 1.7.0.80 + oracle64-1.7.0.80 + + # configure to use Java 7 for Hivemall + $ cd incubator-hivemall + $ jenv local 1.7 + $ java -version + java version "1.7.0_80" + +## PGP signing + +To perform a release, you need to add signatures to release packages. +See the [Signing Releases](http://www.apache.org/dev/release-signing.html) page for information on how to do this. + +In a nutshell, you'll need to follow the instructions at [How To OpenPGP](http://www.apache.org/dev/openpgp.html#generate-key) to generate a new code signing key and publish the public key in various places. + +### Setting up signing keys + +1). Generate a key-pair with gpg using [this instruction](http://www.apache.org/dev/openpgp.html#key-gen-generate-key). The program's default values should be fine. Please use a signing key with an ASF email address (i.e. [email protected]). Generated Keys should be RSA with at least 4096 bits. + + $ gpg --full-generate-key + +Here is my key. + + $ gpg --list-key --keyid-format LONG + + pub rsa4096/93F4D08DC8CE801B 2017-11-01 [SC] + 7A6BA1A10CC6ABF47159152193F4D08DC8CE801B + uid [ultimate] Makoto Yui (CODE SIGNING KEY) <[email protected]> + sub rsa4096/C3F1C8E219A64221 2017-11-01 [E] + +Public key is `93F4D08DC8CE801B` in the above case. + +2). Send your public PGP key to a public keyserver. + + $ gpg --keyserver pgp.mit.edu --send-keys <your-public-pgp-key> + +3). Update the PGP key fingerprint of your account on [id.apache.org](http://id.apache.org). Find your PGP key fingerprint by + + $ gpg --fingerprint + +4). Update KEYS file in the git repo to your public key be listed in it. + + $ export YOUR_NAME="Makoto Yui" + $ (gpg --list-sigs ${YOUR_NAME} && gpg --armor --export ${YOUR_NAME} && echo) >> KEYS + + # Update git repository + $ git add KEYS + $ git commit -m "Added the public key of YOUR NAME" + $ git push origin master + +5). Add your public key to KEYS file in the subversion repository: + + - dev: https://dist.apache.org/repos/dist/dev/hivemall/KEYS + - release: https://dist.apache.org/repos/dist/release/hivemall/KEYS + + # checkout dist repos + $ svn co --depth immediates https://dist.apache.org/repos/dist dist + $ cd dist + $ svn up --set-depth infinity dev/incubator/hivemall + $ svn up --set-depth infinity release/incubator/hivemall + + # edit KEYS files + $ svn add * --force + $ svn ci -m "Updated KEYS file of Incubator Hivemall" && svn up + +6). Once you have followed these instructions, you should have: + + * Your public key viewable at https://people.apache.org/keys/committer/your-asf-id.asc + * Your public key also viewable at https://people.apache.org/keys/group/hivemall.asc + +#### Configure PGP signing on git (optional) + +After completing this, you should also [configure git](https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work) to use your key for signing. + +If your signing key is identified by `01234567`, then you can configure git with: + + $ git config --global user.signingkey 01234567 + +If you are using gpg, you'll then need to tell git to use it. + + $ git config --global gpg.program gpg + +You can enable GPG signing always true on the particular git repository by: + + $ git config commit.gpgsign true + +Use pientry to omit typing a passphrase for each commit. + + $ echo "pinentry-program /usr/local/bin/pinentry-mac" >> ~/.gnupg/gpg-agent.conf + $ echo -e "use-agent\nno-tty" >> ~/.gnupg/gpg.conf + +Tips: You may get an error about a passphrase not being provided when signing with git. If this happens try running the command below, which should case the passphrase prompt to show in the terminal. + + export GPG_TTY=`tty` + +## Configure Maven for publishing artifacts + +Update your `~/.m2/settings.xml` following [this instructions](http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env). + +```xml +<settings> +... + <servers> + <!-- To publish a snapshot of some part of Maven --> + <server> + <id>apache.snapshots.https</id> + <username> <!-- YOUR APACHE LDAP USERNAME --> </username> + <password> <!-- YOUR APACHE LDAP PASSWORD (encrypted) --> </password> + </server> + <!-- To stage a release of some part of Maven --> + <server> + <id>apache.releases.https</id> + <username> <!-- YOUR APACHE LDAP USERNAME --> </username> + <password> <!-- YOUR APACHE LDAP PASSWORD (encrypted) --> </password> + </server> + ... + </servers> +</settings> +``` \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-hivemall/blob/131eb060/src/site/site.xml ---------------------------------------------------------------------- diff --git a/src/site/site.xml b/src/site/site.xml index 3a673ed..d23ed1f 100644 --- a/src/site/site.xml +++ b/src/site/site.xml @@ -1,22 +1,21 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. --> <project name="Apache Hivemall" xmlns="http://maven.apache.org/DECORATION/1.7.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" @@ -25,7 +24,7 @@ <skin> <groupId>org.apache.maven.skins</groupId> <artifactId>maven-fluido-skin</artifactId> - <version>1.5</version> + <version>1.6</version> </skin> <custom> @@ -42,7 +41,7 @@ </topBarIcon> --> <sideBarEnabled>false</sideBarEnabled> - <sourceLineNumbersEnabled>true</sourceLineNumbersEnabled> + <sourceLineNumbersEnabled>false</sourceLineNumbersEnabled> <gitHub> <projectId>apache/incubator-hivemall</projectId> <ribbonOrientation>right</ribbonOrientation> @@ -96,6 +95,7 @@ <item name="Source (Git)" href="/repository.html" /> <item name="Travis CI" href="https://travis-ci.org/apache/incubator-hivemall" target="_blank" /> <item name="Contributing" href="/contributing.html" /> + <item name="Release Guide" href="/release-guide.html" /> </menu> <!-- <menu ref="reports" inherit="top" /> --> http://git-wip-us.apache.org/repos/asf/incubator-hivemall/blob/131eb060/src/site/xdoc/index.xml.vm ---------------------------------------------------------------------- diff --git a/src/site/xdoc/index.xml.vm b/src/site/xdoc/index.xml.vm index 1420d4b..64daba4 100644 --- a/src/site/xdoc/index.xml.vm +++ b/src/site/xdoc/index.xml.vm @@ -27,7 +27,7 @@ </head> <body> <div class="alert alert-info" role="alert"> - <strong>Info:</strong> We are planning the initial Apache release on Q2, 2017. <a href="/userguide/index.html"><button class="btn btn-primary" type="button">Learn more</button></a>. + <strong>Info:</strong> We are planning the initial Apache release on Q4, 2017. <a href="/userguide/index.html"><button class="btn btn-primary" type="button">Learn more</button></a>. </div> <div id="carousel-main" class="row"> <div id="screenshots-carousel" class="carousel slide span10"> http://git-wip-us.apache.org/repos/asf/incubator-hivemall/blob/131eb060/xgboost/pom.xml ---------------------------------------------------------------------- diff --git a/xgboost/pom.xml b/xgboost/pom.xml index 47b7dd3..16e7c70 100644 --- a/xgboost/pom.xml +++ b/xgboost/pom.xml @@ -21,7 +21,7 @@ <modelVersion>4.0.0</modelVersion> <parent> - <groupId>io.github.myui</groupId> + <groupId>org.apache.hivemall</groupId> <artifactId>hivemall</artifactId> <version>0.4.2-rc.2</version> <relativePath>../pom.xml</relativePath> @@ -94,7 +94,7 @@ <scope>provided</scope> </dependency> <dependency> - <groupId>io.github.myui</groupId> + <groupId>org.apache.hivemall</groupId> <artifactId>hivemall-core</artifactId> <version>${project.version}</version> <scope>provided</scope> @@ -184,7 +184,7 @@ <createDependencyReducedPom>false</createDependencyReducedPom> <artifactSet> <includes> - <include>io.github.myui:hivemall-core</include> + <include>org.apache.hivemall:hivemall-core</include> <include>io.netty:netty-all</include> <include>com.github.haifengl:smile-core</include> <include>com.github.haifengl:smile-math</include>
