You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mnemonic.apache.org by ga...@apache.org on 2016/05/06 00:39:58 UTC
[09/11] incubator-mnemonic git commit: MNEMONIC-40 - Clean up
assembled source package for release MNEMONIC-41 - Create a script for
preparing a release of a single package with signing and hashing MNEMONIC-42
- Normalize the names of project submodules
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/allocator-services/pmalloc-service/src/main/native/org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl.c
----------------------------------------------------------------------
diff --git a/allocator-services/pmalloc-service/src/main/native/org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl.c b/allocator-services/pmalloc-service/src/main/native/org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl.c
deleted file mode 100644
index b3bf391..0000000
--- a/allocator-services/pmalloc-service/src/main/native/org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl.c
+++ /dev/null
@@ -1,314 +0,0 @@
-/**
- * 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.
- */
-
-#include "org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl.h"
-
-#include <pmalloc.h>
-
-typedef struct {
- //size_t size;
- jlong size;
-} PMBHeader;
-
-#define PMBHSZ (sizeof(PMBHeader))
-
-static void **g_pmp_ptr = NULL;
-static size_t g_pmp_count = 0;
-
-static pthread_mutex_t *g_pmalloc_mutex_ptr = NULL;
-
-static pthread_rwlock_t g_pmp_rwlock = PTHREAD_RWLOCK_INITIALIZER;
-
-/******************************************************************************
- ** JNI implementations
- *****************************************************************************/
-
-JNIEXPORT
-jlong JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_nallocate(JNIEnv* env,
- jobject this, jlong id, jlong size, jboolean initzero) {
- pthread_rwlock_rdlock(&g_pmp_rwlock);
- pthread_mutex_lock(g_pmalloc_mutex_ptr + id);
- jlong ret = 0L;
- void *md = *(g_pmp_ptr + id);
- void* nativebuf = initzero ? pmcalloc(md, 1, size + PMBHSZ) : pmalloc(md, size + PMBHSZ);
- if (NULL != nativebuf) {
- ((PMBHeader *) nativebuf)->size = size + PMBHSZ;
- ret = addr_to_java(nativebuf + PMBHSZ);
-// fprintf(stderr, "### nallocate size: %lld, %X, header size: %ld ### \n",
-// ((PMBHeader *)nativebuf)->size, nativebuf-b_addr(*(g_pmp_ptr + id)), PMBHSZ);
- }
- pthread_mutex_unlock(g_pmalloc_mutex_ptr + id);
- pthread_rwlock_unlock(&g_pmp_rwlock);
- return ret;
-}
-
-JNIEXPORT
-jlong JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_nreallocate(JNIEnv* env,
- jobject this, jlong id, jlong address, jlong size, jboolean initzero) {
- pthread_rwlock_rdlock(&g_pmp_rwlock);
- pthread_mutex_lock(g_pmalloc_mutex_ptr + id);
- jlong ret = 0L;
- void *md = *(g_pmp_ptr + id);
- void* nativebuf = NULL;
- void* p = addr_from_java(address);
- if (NULL != p) {
- nativebuf = pmrealloc(md, p - PMBHSZ, size + PMBHSZ);
- } else {
- nativebuf = initzero ? pmcalloc(md, 1, size + PMBHSZ) : pmalloc(md, size + PMBHSZ);
- }
- if (nativebuf != NULL) {
- ((PMBHeader *) nativebuf)->size = size + PMBHSZ;
- ret = addr_to_java(nativebuf + PMBHSZ);
- }
- pthread_mutex_unlock(g_pmalloc_mutex_ptr + id);
- pthread_rwlock_unlock(&g_pmp_rwlock);
- return ret;
-}
-
-JNIEXPORT
-void JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_nfree(
- JNIEnv* env,
- jobject this, jlong id,
- jlong address)
-{
- pthread_rwlock_rdlock(&g_pmp_rwlock);
- pthread_mutex_lock(g_pmalloc_mutex_ptr + id);
- //fprintf(stderr, "nfree Get Called %ld, %X\n", id, address);
- void *md = *(g_pmp_ptr + id);
- void* nativebuf = addr_from_java(address);
- if (nativebuf != NULL) {
-// fprintf(stderr, "### nfree size: %lld, %X ###, header size: %ld \n",
-// ((PMBHeader *)(nativebuf - PMBHSZ))->size, nativebuf - PMBHSZ-b_addr(*(g_pmp_ptr + id)), PMBHSZ);
- pmfree(md, nativebuf - PMBHSZ);
- }
- pthread_mutex_unlock(g_pmalloc_mutex_ptr + id);
- pthread_rwlock_unlock(&g_pmp_rwlock);
-}
-
-JNIEXPORT
-void JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_nsync(
- JNIEnv* env,
- jobject this, jlong id)
-{
-}
-
-JNIEXPORT
-jobject JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_ncreateByteBuffer(
- JNIEnv *env, jobject this, jlong id, jlong size) {
- pthread_rwlock_rdlock(&g_pmp_rwlock);
- pthread_mutex_lock(g_pmalloc_mutex_ptr + id);
- jobject ret = NULL;
- void *md = *(g_pmp_ptr + id);
- void* nativebuf = pmalloc(md, size + PMBHSZ);
- if (NULL != nativebuf) {
- ((PMBHeader *) nativebuf)->size = size + PMBHSZ;
- ret = (*env)->NewDirectByteBuffer(env, nativebuf + PMBHSZ, size);
-// fprintf(stderr, "### ncreateByteBuffer size: %lld, %X ###, header size: %ld \n",
-// ((PMBHeader *)nativebuf)->size, nativebuf-b_addr(*(g_pmp_ptr + id)), PMBHSZ);
- }
- pthread_mutex_unlock(g_pmalloc_mutex_ptr + id);
- pthread_rwlock_unlock(&g_pmp_rwlock);
- return ret;
-}
-
-JNIEXPORT
-jobject JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_nretrieveByteBuffer(
- JNIEnv *env, jobject this, jlong id, jlong e_addr) {
- jobject ret = NULL;
- void* p = addr_from_java(e_addr);
- if (NULL != p) {
- void* nativebuf = p - PMBHSZ;
- ret = (*env)->NewDirectByteBuffer(env, p, ((PMBHeader *) nativebuf)->size - PMBHSZ);
- }
- return ret;
-}
-
-JNIEXPORT
-jlong JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_nretrieveSize(JNIEnv *env,
- jobject this, jlong id, jlong e_addr) {
- jlong ret = 0L;
- void* p = addr_from_java(e_addr);
- if (NULL != p) {
- void* nativebuf = p - PMBHSZ;
- ret = ((PMBHeader *) nativebuf)->size - PMBHSZ;
-// fprintf(stderr, "### nretrieveSize size: %lld, %X ###, header size: %ld \n",
-// ((PMBHeader *)nativebuf)->size, nativebuf-b_addr(*(g_pmp_ptr + id)), PMBHSZ);
- }
- return ret;
-}
-
-JNIEXPORT
-jlong JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_ngetByteBufferHandler(
- JNIEnv *env, jobject this, jlong id, jobject bytebuf) {
-// fprintf(stderr, "ngetByteBufferAddress Get Called %X, %X\n", env, bytebuf);
- jlong ret = 0L;
- if (NULL != bytebuf) {
- void* nativebuf = (*env)->GetDirectBufferAddress(env, bytebuf);
-// fprintf(stderr, "ngetByteBufferAddress Get Native address %X\n", nativebuf);
- ret = addr_to_java(nativebuf);
- }
-// fprintf(stderr, "ngetByteBufferAddress returned address %016lx\n", ret);
- return ret;
-}
-
-JNIEXPORT
-jobject JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_nresizeByteBuffer(
- JNIEnv *env, jobject this, jlong id, jobject bytebuf, jlong size) {
- pthread_rwlock_rdlock(&g_pmp_rwlock);
- pthread_mutex_lock(g_pmalloc_mutex_ptr + id);
- jobject ret = NULL;
- void *md = *(g_pmp_ptr + id);
- if (NULL != bytebuf) {
- void* nativebuf = (*env)->GetDirectBufferAddress(env, bytebuf);
- if (nativebuf != NULL) {
- nativebuf = pmrealloc(md, nativebuf - PMBHSZ, size + PMBHSZ);
- if (NULL != nativebuf) {
- ((PMBHeader *) nativebuf)->size = size + PMBHSZ;
- ret = (*env)->NewDirectByteBuffer(env, nativebuf + PMBHSZ, size);
- }
- }
- }
- pthread_mutex_unlock(g_pmalloc_mutex_ptr + id);
- pthread_rwlock_unlock(&g_pmp_rwlock);
- return ret;
-}
-
-JNIEXPORT
-void JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_ndestroyByteBuffer(
- JNIEnv *env, jobject this, jlong id, jobject bytebuf)
-{
- pthread_rwlock_rdlock(&g_pmp_rwlock);
- pthread_mutex_lock(g_pmalloc_mutex_ptr + id);
- void *md = *(g_pmp_ptr + id);
- if (NULL != bytebuf) {
- void* nativebuf = (*env)->GetDirectBufferAddress(env, bytebuf);
- if (nativebuf != NULL) {
-// fprintf(stderr, "### ndestroyByteBuffer size: %lld, %X, header size: %ld ### \n",
-// ((PMBHeader *)(nativebuf - PMBHSZ))->size, nativebuf - PMBHSZ -b_addr(*(g_pmp_ptr + id)), PMBHSZ);
- pmfree(md, nativebuf - PMBHSZ);
- }
- }
- pthread_mutex_unlock(g_pmalloc_mutex_ptr + id);
- pthread_rwlock_unlock(&g_pmp_rwlock);
-}
-
-JNIEXPORT
-void JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_nsetHandler(
- JNIEnv *env, jobject this, jlong id, jlong key, jlong value)
-{
- pthread_rwlock_rdlock(&g_pmp_rwlock);
- pthread_mutex_lock(g_pmalloc_mutex_ptr + id);
- void *md = *(g_pmp_ptr + id);
- if (id < PMALLOC_KEYS && id >= 0) {
- pmalloc_setkey(md, key, (void*)value);
- }
- pthread_mutex_unlock(g_pmalloc_mutex_ptr + id);
- pthread_rwlock_unlock(&g_pmp_rwlock);
-}
-
-JNIEXPORT
-jlong JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_ngetHandler(JNIEnv *env,
- jobject this, jlong id, jlong key) {
- pthread_rwlock_rdlock(&g_pmp_rwlock);
- pthread_mutex_lock(g_pmalloc_mutex_ptr + id);
- void *md = *(g_pmp_ptr + id);
- jlong ret = (id < PMALLOC_KEYS && id >= 0) ? (long) pmalloc_getkey(md, key) : 0;
- pthread_mutex_unlock(g_pmalloc_mutex_ptr + id);
- pthread_rwlock_unlock(&g_pmp_rwlock);
- return ret;
-}
-
-JNIEXPORT
-jlong JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_nhandlerCapacity(
- JNIEnv *env, jobject this) {
- return PMALLOC_KEYS;
-}
-
-JNIEXPORT
-jlong JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_ngetBaseAddress(JNIEnv *env,
- jobject this, jlong id) {
- pthread_rwlock_rdlock(&g_pmp_rwlock);
- void *md = *(g_pmp_ptr + id);
- jlong ret = (long) b_addr(md);
- pthread_rwlock_unlock(&g_pmp_rwlock);
- return ret;
-}
-
-JNIEXPORT
-jlong JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_ninit(JNIEnv *env,
- jclass this, jlong capacity, jstring pathname, jboolean isnew) {
- pthread_rwlock_wrlock(&g_pmp_rwlock);
- size_t ret = -1;
- void *md = NULL;
- const char* mpathname = (*env)->GetStringUTFChars(env, pathname, NULL);
- if (NULL == mpathname) {
- pthread_rwlock_unlock(&g_pmp_rwlock);
- throw(env, "Big memory path not specified!");
- }
- if ((md = pmopen(mpathname, NULL, capacity)) == NULL) {
- pthread_rwlock_unlock(&g_pmp_rwlock);
- throw(env, "Big memory init failure!");
- }
- (*env)->ReleaseStringUTFChars(env, pathname, mpathname);
- g_pmp_ptr = realloc(g_pmp_ptr, (g_pmp_count + 1) * sizeof(void*));
- g_pmalloc_mutex_ptr = realloc(g_pmalloc_mutex_ptr, (g_pmp_count + 1) * sizeof(pthread_mutex_t));
- if (NULL != g_pmp_ptr && NULL != g_pmalloc_mutex_ptr) {
- *(g_pmp_ptr + g_pmp_count) = md;
- pthread_mutex_init(g_pmalloc_mutex_ptr + g_pmp_count, NULL);
- ret = g_pmp_count;
- ++g_pmp_count;
- } else {
- pthread_rwlock_unlock(&g_pmp_rwlock);
- throw(env, "Big memory init Out of memory!");
- }
- pthread_rwlock_unlock(&g_pmp_rwlock);
- return ret;
-}
-
-JNIEXPORT
-void JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_nclose
-(JNIEnv *env, jobject this, jlong id)
-{
- pthread_rwlock_rdlock(&g_pmp_rwlock);
- pthread_mutex_lock(g_pmalloc_mutex_ptr + id);
- void *md = *(g_pmp_ptr + id);
- pmclose(md);
- *(g_pmp_ptr + id) = NULL;
- pthread_mutex_unlock(g_pmalloc_mutex_ptr + id);
- pthread_mutex_destroy(g_pmalloc_mutex_ptr + id);
- pthread_rwlock_unlock(&g_pmp_rwlock);
-}
-
-__attribute__((destructor)) void fini(void) {
- int i;
- if (NULL != g_pmp_ptr) {
- for (i = 0; i < g_pmp_count; ++i) {
- if (NULL != *(g_pmp_ptr + i)) {
- pmclose(*(g_pmp_ptr + i));
- *(g_pmp_ptr + i) = NULL;
- pthread_mutex_destroy(g_pmalloc_mutex_ptr + i);
- }
- }
- free(g_pmp_ptr);
- g_pmp_ptr = NULL;
- free(g_pmalloc_mutex_ptr);
- g_pmalloc_mutex_ptr = NULL;
- g_pmp_count = 0;
- }
- pthread_rwlock_destroy(&g_pmp_rwlock);
-}
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/allocator-services/pmalloc-service/src/main/native/org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl.h
----------------------------------------------------------------------
diff --git a/allocator-services/pmalloc-service/src/main/native/org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl.h b/allocator-services/pmalloc-service/src/main/native/org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl.h
deleted file mode 100644
index 7550462..0000000
--- a/allocator-services/pmalloc-service/src/main/native/org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * 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.
- */
-
-#include <jni.h>
-/* Header for class PMallocServiceImpl */
-
-#include "common.h"
-
-#ifndef _Included_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl
-#define _Included_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class: org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl
- * Method: jniInit
- * Signature: (II)V
- */
-JNIEXPORT void JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_jniInit
-(JNIEnv *, jobject, jint, jint);
-
-/*
- * Class: org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl
- * Method: jniTerm
- * Signature: ()V
- */
-JNIEXPORT void JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_jniTerm
-(JNIEnv *, jobject);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/allocator-services/pmalloc-service/src/main/resources/META-INF/services/org.apache.mnemonic.service.allocatorservice.NonVolatileMemoryAllocatorService
----------------------------------------------------------------------
diff --git a/allocator-services/pmalloc-service/src/main/resources/META-INF/services/org.apache.mnemonic.service.allocatorservice.NonVolatileMemoryAllocatorService b/allocator-services/pmalloc-service/src/main/resources/META-INF/services/org.apache.mnemonic.service.allocatorservice.NonVolatileMemoryAllocatorService
deleted file mode 100644
index 4511285..0000000
--- a/allocator-services/pmalloc-service/src/main/resources/META-INF/services/org.apache.mnemonic.service.allocatorservice.NonVolatileMemoryAllocatorService
+++ /dev/null
@@ -1 +0,0 @@
-org.apache.mnemonic.service.allocatorservice.internal.PMallocServiceImpl
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/allocator-services/pom.xml
----------------------------------------------------------------------
diff --git a/allocator-services/pom.xml b/allocator-services/pom.xml
deleted file mode 100644
index 383afc1..0000000
--- a/allocator-services/pom.xml
+++ /dev/null
@@ -1,90 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<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/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.mnemonic</groupId>
- <artifactId>mnemonic-parent</artifactId>
- <version>0.1.2-incubating-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <groupId>org.apache.mnemonic.service.allocatorservice</groupId>
- <artifactId>allocator-services-parent-project</artifactId>
- <packaging>pom</packaging>
-
- <name>Mnemonic Project Allocator Services Parent POM</name>
- <url>http://mnemonic.incubator.apache.org</url>
-
- <properties>
- <service.basedir>${project.parent.basedir}</service.basedir>
- </properties>
-
- <modules>
- <module>nvml-vmem-service</module>
- <module>pmalloc-service</module>
- </modules>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.mnemonic</groupId>
- <artifactId>mnemonic-core</artifactId>
- <version>${project.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.flowcomputing.commons</groupId>
- <artifactId>commons-primitives</artifactId>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- </plugins>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <version>2.6</version>
- <configuration>
- <forceCreation>true</forceCreation>
- <outputDirectory>${service.basedir}/service-dist</outputDirectory>
- <archive>
- <addMavenDescriptor>false</addMavenDescriptor>
- </archive>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-shade-plugin</artifactId>
- <version>2.4.3</version>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>shade</goal>
- </goals>
- <configuration>
- <minimizeJar>true</minimizeJar>
- <filters>
- <filter>
- <artifact>*:*</artifact>
- <includes>
- </includes>
- <excludes>
- <exclude>META-INFO/**/**</exclude>
- <exclude>META-INFO/services/**</exclude>
- <exclude>META-INFO/maven/**</exclude>
- </excludes>
- </filter>
-
- </filters>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
-
-</project>
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/build-tools/release.sh
----------------------------------------------------------------------
diff --git a/build-tools/release.sh b/build-tools/release.sh
new file mode 100755
index 0000000..590e174
--- /dev/null
+++ b/build-tools/release.sh
@@ -0,0 +1,101 @@
+#!/bin/bash
+
+#
+# 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.
+#
+
+usage(){
+ echo "Usage: $0 Release_Version Next_Release_Version"
+ echo "For example, $0 0.2.0 0.2.1"
+ exit 1
+}
+
+continueprompt() {
+ while true; do
+ read -p "Do you wish to continue?" yn
+ case $yn in
+ [Yy]* ) break;;
+ [Nn]* ) exit;;
+ * ) echo "Please answer yes or no.";;
+ esac
+ done
+}
+
+[[ -n "$(git status --porcelain)" ]] &&
+ echo "please commit all changes first." && exit
+
+[[ $# -ne 2 ]] && usage
+
+RELEASE_VERSION="$1"
+NEXT_RELEASE_VERSION="$2"
+
+echo "You have specified:"
+echo "RELEASE_VERSION = ${RELEASE_VERSION}"
+echo "NEXT_RELEASE_VERSION = ${NEXT_RELEASE_VERSION}"
+
+git checkout master
+
+echo "Preparing to create a branch branch-${RELEASE_VERSION} for release"
+continueprompt
+
+git checkout -b branch-${RELEASE_VERSION} || { echo "Create branch failed"; exit; }
+
+mvn versions:set -DgenerateBackupPoms=false -DnewVersion=${RELEASE_VERSION}-incubating
+git commit . -m "Prepare for releasing ${RELEASE_VERSION}-incubating"
+
+git tag -s v${RELEASE_VERSION}-incubating -m "Releasing ${RELEASE_VERSION}-incubating"
+
+rm -rf target/
+
+mvn clean prepare-package -DskipTests -Dremoteresources.skip=true &&
+mvn prepare-package -DskipTests -Dremoteresources.skip=true &&
+mvn deploy -DskipTests -Dremoteresources.skip=true -P apache-release || { echo "Preparation failed"; exit; }
+
+RELEASEBASENAME=apache-mnemonic-${RELEASE_VERSION}-incubating-src
+RELEASEFULLNAME=${RELEASEBASENAME}.tar.gz
+pushd target || { echo "Artifacts not found"; exit; }
+md5sum ${RELEASEFULLNAME} > ${RELEASEFULLNAME}.md5 || { echo "Generate md5 failed"; exit; }
+shasum -a 512 ${RELEASEFULLNAME} > ${RELEASEFULLNAME}.sha512 || { echo "Generate sha failed"; exit; }
+popd
+
+echo "Prepared Artifacts:"
+echo `ls target/${RELEASEFULLNAME}`
+echo `ls target/${RELEASEFULLNAME}.asc`
+echo `ls target/${RELEASEFULLNAME}.md5`
+echo `ls target/${RELEASEFULLNAME}.sha512`
+echo "Please upload those artifacts to your stage repository now."
+continueprompt
+
+#---------------
+echo "Push release branch & label to upstream branch <branch-${RELEASE_VERSION}>."
+continueprompt
+
+git push upstream branch-${RELEASE_VERSION}
+git push upstream v${RELEASE_VERSION}-incubating
+
+echo "Merge release branch <branch-${RELEASE_VERSION}> to master & Commit next version <${NEXT_RELEASE_VERSION}-incubating-SNAPSHOT>."
+continueprompt
+
+git checkout master
+git merge --no-ff branch-${RELEASE_VERSION}
+mvn versions:set -DgenerateBackupPoms=false -DnewVersion=${NEXT_RELEASE_VERSION}-incubating-SNAPSHOT
+git commit . -m "Bump version to ${NEXT_RELEASE_VERSION}-incubating-SNAPSHOT"
+
+echo "Push release merge and new version to upstream."
+continueprompt
+
+git push upstream master
+
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/build-tools/source-assembly.xml
----------------------------------------------------------------------
diff --git a/build-tools/source-assembly.xml b/build-tools/source-assembly.xml
index cda6923..3232377 100644
--- a/build-tools/source-assembly.xml
+++ b/build-tools/source-assembly.xml
@@ -20,14 +20,81 @@
-->
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
<id>src</id>
<formats>
+ <format>zip</format>
<format>tar.gz</format>
<format>tar.bz2</format>
<format>zip</format>
</formats>
+ <moduleSets>
+ <moduleSet>
+ <includes>
+ <include>org.apache.mnemonic:mnemonic-core</include>
+ <include>org.apache.mnemonic:mnemonic-collections</include>
+ <include>org.apache.mnemonic:mnemonic-examples</include>
+ </includes>
+ <sources>
+ <fileSets>
+ <fileSet>
+ <directory>.</directory>
+ <outputDirectory>.</outputDirectory>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <excludes>
+ <exclude>**/target/**</exclude>
+ <exclude>dependency-reduced-pom.xml</exclude>
+ <exclude>**/*.dat</exclude>
+ </excludes>
+ </fileSet>
+ </fileSets>
+ </sources>
+ </moduleSet>
+ <moduleSet>
+ <includes>
+ <include>org.apache.mnemonic:mnemonic-memory-services</include>
+ </includes>
+ <sources>
+ <fileSets>
+ <fileSet>
+ <directory>.</directory>
+ <outputDirectory>.</outputDirectory>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <excludes>
+ <exclude>**/target/**</exclude>
+ <exclude>**/service-dist/**</exclude>
+ <exclude>dependency-reduced-pom.xml</exclude>
+ <exclude>**/*.dat</exclude>
+ </excludes>
+ </fileSet>
+ </fileSets>
+ </sources>
+ </moduleSet>
+ <moduleSet>
+ <includes>
+ <include>org.apache.mnemonic:mnemonic-pmalloc-service</include>
+ <include>org.apache.mnemonic:mnemonic-nvml-vmem-service</include>
+ </includes>
+ <sources>
+ <fileSets>
+ <fileSet>
+ <directory>.</directory>
+ <outputDirectory>.</outputDirectory>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <excludes>
+ <exclude>**/target/**</exclude>
+ <exclude>**/native/build/**</exclude>
+ <exclude>**/native/dist/**</exclude>
+ <exclude>dependency-reduced-pom.xml</exclude>
+ <exclude>**/*.dat</exclude>
+ </excludes>
+ </fileSet>
+ </fileSets>
+ <outputDirectoryMapping>mnemonic-memory-services/${module.artifactId}</outputDirectoryMapping>
+ </sources>
+ </moduleSet>
+ </moduleSets>
<fileSets>
<fileSet>
<directory>${project.basedir}</directory>
@@ -35,19 +102,13 @@
<include>README*</include>
<include>LICENSE*</include>
<include>NOTICE*</include>
+ <include>DISCLAIMER*</include>
+ <include>KEYS</include>
<include>pom.xml</include>
+ <include>build-tools/**</include>
</includes>
<useDefaultExcludes>true</useDefaultExcludes>
</fileSet>
- <fileSet>
- <directory>${project.basedir}/src</directory>
- <useDefaultExcludes>true</useDefaultExcludes>
- <excludes>
- <exclude>/main/native/build/**</exclude>
- <exclude>dependency-reduced-pom.xml</exclude>
- <exclude>*.dat</exclude>
- </excludes>
- </fileSet>
</fileSets>
</assembly>
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/collections/pom.xml
----------------------------------------------------------------------
diff --git a/collections/pom.xml b/collections/pom.xml
deleted file mode 100644
index e76a954..0000000
--- a/collections/pom.xml
+++ /dev/null
@@ -1,156 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<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/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.mnemonic</groupId>
- <artifactId>mnemonic-parent</artifactId>
- <version>0.1.2-incubating-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
-
- <groupId>org.apache.mnemonic.collections</groupId>
- <artifactId>mnemonic-collections</artifactId>
- <packaging>jar</packaging>
- <name>Mnemonic Project Collections</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.mnemonic</groupId>
- <artifactId>mnemonic-core</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.flowcomputing.commons</groupId>
- <artifactId>commons-primitives</artifactId>
- <version>0.6.0</version>
- </dependency>
- <dependency>
- <groupId>org.testng</groupId>
- <artifactId>testng</artifactId>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-shade-plugin</artifactId>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>shade</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <minimizeJar>true</minimizeJar>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.bsc.maven</groupId>
- <artifactId>maven-processor-plugin</artifactId>
- <executions>
- <execution>
- <id>process-test</id>
- <goals><goal>process-test</goal></goals>
- <phase>generate-test-sources</phase>
- <configuration>
- <compilerArguments>-XDenableSunApiLintControl</compilerArguments>
- <processors>
- <processor>${project.parent.groupId}.DurableEntityProcessor</processor>
- </processors>
- </configuration>
- </execution>
- <execution>
- <id>process</id>
- <goals><goal>process</goal></goals>
- <phase>generate-sources</phase>
- <configuration>
- <compilerArguments>-XDenableSunApiLintControl</compilerArguments>
- <processors>
- <processor>${project.parent.groupId}.DurableEntityProcessor</processor>
- </processors>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
- <profiles>
- <profile>
- <id>proguard</id>
- <build>
- <plugins>
- <plugin>
- <groupId>com.github.wvengen</groupId>
- <artifactId>proguard-maven-plugin</artifactId>
- <executions>
- <execution>
- <phase>package</phase>
- <goals><goal>proguard</goal></goals>
- </execution>
- </executions>
- <configuration>
- <maxMemory>4096m</maxMemory>
- <proguardInclude>${basedir}/proguard.conf</proguardInclude>
- <libs>
- <lib>${java.home}/lib/rt.jar</lib>
- </libs>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>doc</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <configuration>
- <additionalparam>-Xdoclint:all -Xdoclint:-missing</additionalparam>
- </configuration>
- <executions>
- <execution>
- <id>attach-javadocs</id>
- <goals>
- <goal>jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>test</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <argLine>-Xmx2g -XX:MaxPermSize=1g</argLine>
- <suiteXmlFiles>
- <suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile>
- </suiteXmlFiles>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-
-</project>
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/collections/proguard.conf
----------------------------------------------------------------------
diff --git a/collections/proguard.conf b/collections/proguard.conf
deleted file mode 100644
index a0d98ab..0000000
--- a/collections/proguard.conf
+++ /dev/null
@@ -1,31 +0,0 @@
--keepattributes Signature
--renamesourcefileattribute SourceFile
--keepattributes Exceptions,InnerClasses,Signature,Deprecated,
- SourceFile,LineNumberTable,*Annotation*,EnclosingMethod
-
--keep class com.intel.bigdatamem.* {
- *;
-}
-
--keep class com.intel.bigdatamem.collections.* {
- public <methods>;
-}
-
--keepclassmembers,allowoptimization enum * {
- public static **[] values();
- public static ** valueOf(java.lang.String);
-}
-
--keepclassmembernames class * {
- java.lang.Class class$(java.lang.String);
- java.lang.Class class$(java.lang.String, boolean);
-}
-
--keep public interface ** {
- public <methods>;
-}
-
--keep public enum ** {
- *;
-}
-
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/collections/src/main/java/org/apache/mnemonic/collections/DurableNodeValue.java
----------------------------------------------------------------------
diff --git a/collections/src/main/java/org/apache/mnemonic/collections/DurableNodeValue.java b/collections/src/main/java/org/apache/mnemonic/collections/DurableNodeValue.java
deleted file mode 100644
index 91084a2..0000000
--- a/collections/src/main/java/org/apache/mnemonic/collections/DurableNodeValue.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * 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.
- */
-
-package org.apache.mnemonic.collections;
-
-import java.util.Iterator;
-import java.util.NoSuchElementException;
-
-import org.apache.mnemonic.Durable;
-import org.apache.mnemonic.EntityFactoryProxy;
-import org.apache.mnemonic.GenericField;
-import org.apache.mnemonic.DurableEntity;
-import org.apache.mnemonic.DurableGetter;
-import org.apache.mnemonic.DurableSetter;
-
-/**
- * this class defines a non-volatile node for a generic value to form a
- * unidirectional link
- *
- */
-@DurableEntity
-public abstract class DurableNodeValue<E> implements Durable, Iterable<E> {
- protected transient EntityFactoryProxy[] m_node_efproxies;
- protected transient GenericField.GType[] m_node_gftypes;
-
- /**
- * creation callback for initialization
- *
- */
- @Override
- public void initializeAfterCreate() {
- // System.out.println("Initializing After Created");
- }
-
- /**
- * restore callback for initialization
- *
- */
- @Override
- public void initializeAfterRestore() {
- // System.out.println("Initializing After Restored");
- }
-
- /**
- * this function will be invoked by its factory to setup generic related info
- * to avoid expensive operations from reflection
- *
- * @param efproxies
- * specify a array of factory to proxy the restoring of its generic
- * field objects
- *
- * @param gftypes
- * specify a array of types corresponding to efproxies
- */
- @Override
- public void setupGenericInfo(EntityFactoryProxy[] efproxies, GenericField.GType[] gftypes) {
- m_node_efproxies = efproxies;
- m_node_gftypes = gftypes;
- }
-
- /**
- * get the item value of this node
- *
- * @return the item value of this node
- */
- @DurableGetter(Id = 1L, EntityFactoryProxies = "m_node_efproxies", GenericFieldTypes = "m_node_gftypes")
- public abstract E getItem();
-
- /**
- * set a value to this node item
- *
- * @param value
- * the value to be set
- *
- * @param destroy
- * true if want to destroy exist one
- *
- */
- @DurableSetter
- public abstract void setItem(E value, boolean destroy);
-
- /**
- * get next node
- *
- * @return the next node
- *
- */
- @DurableGetter(Id = 2L, EntityFactoryProxies = "m_node_efproxies", GenericFieldTypes = "m_node_gftypes")
- public abstract DurableNodeValue<E> getNext();
-
- /**
- * set next node
- *
- * @param next
- * specify the next node
- *
- * @param destroy
- * true if want to destroy the exist node
- */
- @DurableSetter
- public abstract void setNext(DurableNodeValue<E> next, boolean destroy);
-
- /**
- * get an iterator instance of this list
- *
- * @return an iterator of this list
- */
- @Override
- public Iterator<E> iterator() {
- return new Intr(this);
- }
-
- /**
- * this class defines a iterator for this non-volatile list
- *
- */
- private class Intr implements Iterator<E> {
-
- protected DurableNodeValue<E> next = null;
-
- /**
- * Constructor
- *
- * @param head
- * the start point for this iterator
- *
- */
- Intr(DurableNodeValue<E> head) {
- next = head;
- }
-
- /**
- * determine the existing of next
- *
- * @return true if there is a next node
- *
- */
- @Override
- public boolean hasNext() {
- return null != next;
- }
-
- /**
- * get next node
- *
- * @return the next node
- */
- @Override
- public E next() {
- if (null == next) {
- new NoSuchElementException();
- }
- E ret = next.getItem();
- next = next.getNext();
- return ret;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/collections/src/test/java/org/apache/mnemonic/collections/DurableNodeValueNGTest.java
----------------------------------------------------------------------
diff --git a/collections/src/test/java/org/apache/mnemonic/collections/DurableNodeValueNGTest.java b/collections/src/test/java/org/apache/mnemonic/collections/DurableNodeValueNGTest.java
deleted file mode 100644
index 0cc0095..0000000
--- a/collections/src/test/java/org/apache/mnemonic/collections/DurableNodeValueNGTest.java
+++ /dev/null
@@ -1,274 +0,0 @@
-/*
- * 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.
- */
-
-package org.apache.mnemonic.collections;
-
-import java.nio.ByteBuffer;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Random;
-
-import org.apache.mnemonic.NonVolatileMemAllocator;
-import org.apache.mnemonic.CommonDurableAllocator;
-import org.apache.mnemonic.Durable;
-import org.apache.mnemonic.EntityFactoryProxy;
-import org.apache.mnemonic.GenericField;
-import org.apache.mnemonic.Reclaim;
-import org.apache.mnemonic.Utils;
-import org.testng.AssertJUnit;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-/**
- *
- *
- */
-
-public class DurableNodeValueNGTest {
- private long cKEYCAPACITY;
- private Random m_rand;
- private NonVolatileMemAllocator m_act;
-
- @BeforeClass
- public void setUp() {
- m_rand = Utils.createRandom();
- m_act = new NonVolatileMemAllocator(Utils.getNonVolatileMemoryAllocatorService("pmalloc"), 1024 * 1024 * 1024,
- "./pobj_NodeValue.dat", true);
- cKEYCAPACITY = m_act.handlerCapacity();
- m_act.setBufferReclaimer(new Reclaim<ByteBuffer>() {
- @Override
- public boolean reclaim(ByteBuffer mres, Long sz) {
- System.out.println(String.format("Reclaim Memory Buffer: %X Size: %s", System.identityHashCode(mres),
- null == sz ? "NULL" : sz.toString()));
- return false;
- }
- });
- m_act.setChunkReclaimer(new Reclaim<Long>() {
- @Override
- public boolean reclaim(Long mres, Long sz) {
- System.out.println(String.format("Reclaim Memory Chunk: %X Size: %s", System.identityHashCode(mres),
- null == sz ? "NULL" : sz.toString()));
- return false;
- }
- });
-
- for (long i = 0; i < cKEYCAPACITY; ++i) {
- m_act.setHandler(i, 0L);
- }
- }
-
- @AfterClass
- public void tearDown() {
- m_act.close();
- }
-
- @Test(enabled = false)
- public void testSingleNodeValueWithInteger() {
- int val = m_rand.nextInt();
- GenericField.GType gtypes[] = {GenericField.GType.INTEGER};
- DurableNodeValue<Integer> plln = DurableNodeValueFactory.create(m_act, null, gtypes, false);
- plln.setItem(val, false);
- Long handler = plln.getHandler();
- System.err.println("-------------Start to Restore Integer -----------");
- DurableNodeValue<Integer> plln2 = DurableNodeValueFactory.restore(m_act, null, gtypes, handler, false);
- AssertJUnit.assertEquals(val, (int) plln2.getItem());
- }
-
- @Test(enabled = false)
- public void testNodeValueWithString() {
- String val = Utils.genRandomString();
- GenericField.GType gtypes[] = {GenericField.GType.STRING};
- DurableNodeValue<String> plln = DurableNodeValueFactory.create(m_act, null, gtypes, false);
- plln.setItem(val, false);
- Long handler = plln.getHandler();
- System.err.println("-------------Start to Restore String-----------");
- DurableNodeValue<String> plln2 = DurableNodeValueFactory.restore(m_act, null, gtypes, handler, false);
- AssertJUnit.assertEquals(val, plln2.getItem());
- }
-
- @Test(enabled = false)
- public void testNodeValueWithPerson() {
-
- Person<Long> person = PersonFactory.create(m_act);
- person.setAge((short) 31);
-
- GenericField.GType gtypes[] = {GenericField.GType.DURABLE};
- EntityFactoryProxy efproxies[] = {new EntityFactoryProxy() {
- @Override
- public <A extends CommonDurableAllocator<A>> Durable restore(A allocator, EntityFactoryProxy[] factoryproxys,
- GenericField.GType[] gfields, long phandler, boolean autoreclaim) {
- return PersonFactory.restore(allocator, factoryproxys, gfields, phandler, autoreclaim);
- }
- } };
-
- DurableNodeValue<Person<Long>> plln = DurableNodeValueFactory.create(m_act, efproxies, gtypes, false);
- plln.setItem(person, false);
- Long handler = plln.getHandler();
-
- DurableNodeValue<Person<Long>> plln2 = DurableNodeValueFactory.restore(m_act, efproxies, gtypes, handler,
- false);
- AssertJUnit.assertEquals(31, (int) plln2.getItem().getAge());
-
- }
-
- @Test(enabled = false)
- public void testLinkedNodeValueWithPerson() {
-
- int elem_count = 10;
- List<Long> referlist = new ArrayList();
-
- GenericField.GType listgftypes[] = {GenericField.GType.DURABLE};
- EntityFactoryProxy listefproxies[] = {new EntityFactoryProxy() {
- @Override
- public <A extends CommonDurableAllocator<A>> Durable restore(A allocator, EntityFactoryProxy[] factoryproxys,
- GenericField.GType[] gfields, long phandler, boolean autoreclaim) {
- return PersonFactory.restore(allocator, factoryproxys, gfields, phandler, autoreclaim);
- }
- } };
-
- DurableNodeValue<Person<Long>> firstnv = DurableNodeValueFactory.create(m_act, listefproxies, listgftypes,
- false);
-
- DurableNodeValue<Person<Long>> nextnv = firstnv;
-
- Person<Long> person;
- long val;
- DurableNodeValue<Person<Long>> newnv;
- for (int i = 0; i < elem_count; ++i) {
- person = PersonFactory.create(m_act);
- person.setAge((short) m_rand.nextInt(50));
- person.setName(String.format("Name: [%s]", Utils.genRandomString()), true);
- nextnv.setItem(person, false);
- newnv = DurableNodeValueFactory.create(m_act, listefproxies, listgftypes, false);
- nextnv.setNext(newnv, false);
- nextnv = newnv;
- }
-
- Person<Long> eval;
- DurableNodeValue<Person<Long>> iternv = firstnv;
- while (null != iternv) {
- System.out.printf(" Stage 1 --->\n");
- eval = iternv.getItem();
- if (null != eval) {
- eval.testOutput();
- }
- iternv = iternv.getNext();
- }
-
- long handler = firstnv.getHandler();
-
- DurableNodeValue<Person<Long>> firstnv2 = DurableNodeValueFactory.restore(m_act, listefproxies, listgftypes,
- handler, false);
-
- for (Person<Long> eval2 : firstnv2) {
- System.out.printf(" Stage 2 ---> \n");
- if (null != eval2) {
- eval2.testOutput();
- }
- }
-
- // Assert.assert, expected);(plist, plist2);
-
- }
-
- @Test(enabled = true)
- public void testLinkedNodeValueWithLinkedNodeValue() {
-
- int elem_count = 10;
- long slotKeyId = 10;
-
- GenericField.GType[] elem_gftypes = {GenericField.GType.DOUBLE};
- EntityFactoryProxy[] elem_efproxies = null;
-
- GenericField.GType linkedgftypes[] = {GenericField.GType.DURABLE, GenericField.GType.DOUBLE};
- EntityFactoryProxy linkedefproxies[] = {new EntityFactoryProxy() {
- @Override
- public <A extends CommonDurableAllocator<A>> Durable restore(A allocator, EntityFactoryProxy[] factoryproxys,
- GenericField.GType[] gfields, long phandler, boolean autoreclaim) {
- EntityFactoryProxy[] val_efproxies = null;
- GenericField.GType[] val_gftypes = null;
- if (null != factoryproxys && factoryproxys.length >= 2) {
- val_efproxies = Arrays.copyOfRange(factoryproxys, 1, factoryproxys.length);
- }
- if (null != gfields && gfields.length >= 2) {
- val_gftypes = Arrays.copyOfRange(gfields, 1, gfields.length);
- }
- return DurableNodeValueFactory.restore(allocator, val_efproxies, val_gftypes, phandler, autoreclaim);
- }
- } };
-
- DurableNodeValue<DurableNodeValue<Double>> nextnv = null, pre_nextnv = null;
- DurableNodeValue<Double> elem = null, pre_elem = null, first_elem = null;
-
- Long linkhandler = 0L;
-
- System.out.printf(" Stage 1 -testLinkedNodeValueWithLinkedNodeValue--> \n");
-
- pre_nextnv = null;
- Double val;
- for (int i = 0; i < elem_count; ++i) {
- first_elem = null;
- pre_elem = null;
- for (int v = 0; v < 3; ++v) {
- elem = DurableNodeValueFactory.create(m_act, elem_efproxies, elem_gftypes, false);
- val = m_rand.nextDouble();
- elem.setItem(val, false);
- if (null == pre_elem) {
- first_elem = elem;
- } else {
- pre_elem.setNext(elem, false);
- }
- pre_elem = elem;
- System.out.printf("%f ", val);
- }
-
- nextnv = DurableNodeValueFactory.create(m_act, linkedefproxies, linkedgftypes, false);
- nextnv.setItem(first_elem, false);
- if (null == pre_nextnv) {
- linkhandler = nextnv.getHandler();
- } else {
- pre_nextnv.setNext(nextnv, false);
- }
- pre_nextnv = nextnv;
- System.out.printf(" generated an item... \n");
- }
- m_act.setHandler(slotKeyId, linkhandler);
-
- long handler = m_act.getHandler(slotKeyId);
-
- DurableNodeValue<DurableNodeValue<Double>> linkedvals = DurableNodeValueFactory.restore(m_act,
- linkedefproxies, linkedgftypes, handler, false);
- Iterator<DurableNodeValue<Double>> iter = linkedvals.iterator();
- Iterator<Double> elemiter = null;
-
- System.out.printf(" Stage 2 -testLinkedNodeValueWithLinkedNodeValue--> \n");
- while (iter.hasNext()) {
- elemiter = iter.next().iterator();
- while (elemiter.hasNext()) {
- System.out.printf("%f ", elemiter.next());
- }
- System.out.printf(" Fetched an item... \n");
- }
-
- // Assert.assert, expected);(plist, plist2);
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/collections/src/test/java/org/apache/mnemonic/collections/DurablePersonNGTest.java
----------------------------------------------------------------------
diff --git a/collections/src/test/java/org/apache/mnemonic/collections/DurablePersonNGTest.java b/collections/src/test/java/org/apache/mnemonic/collections/DurablePersonNGTest.java
deleted file mode 100644
index 7694b6d..0000000
--- a/collections/src/test/java/org/apache/mnemonic/collections/DurablePersonNGTest.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * 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.
- */
-
-package org.apache.mnemonic.collections;
-
-import org.apache.mnemonic.NonVolatileMemAllocator;
-import org.apache.mnemonic.OutOfHybridMemory;
-import org.apache.mnemonic.Reclaim;
-import org.apache.mnemonic.RetrieveDurableEntityError;
-import org.apache.mnemonic.Utils;
-import org.testng.annotations.Test;
-import java.nio.ByteBuffer;
-import java.util.Random;
-import java.util.UUID;
-
-/**
- *
- *
- */
-
-public class DurablePersonNGTest {
- private long cKEYCAPACITY;
-
- @Test(expectedExceptions = { OutOfHybridMemory.class })
- public void testGenPeople() throws OutOfHybridMemory, RetrieveDurableEntityError {
- Random rand = Utils.createRandom();
- NonVolatileMemAllocator act = new NonVolatileMemAllocator(Utils.getNonVolatileMemoryAllocatorService("pmalloc"),
- 1024 * 1024 * 8, "./pobj_person.dat", true);
- cKEYCAPACITY = act.handlerCapacity();
- act.setBufferReclaimer(new Reclaim<ByteBuffer>() {
- @Override
- public boolean reclaim(ByteBuffer mres, Long sz) {
- System.out.println(String.format("Reclaim Memory Buffer: %X Size: %s", System.identityHashCode(mres),
- null == sz ? "NULL" : sz.toString()));
- return false;
- }
- });
- act.setChunkReclaimer(new Reclaim<Long>() {
- @Override
- public boolean reclaim(Long mres, Long sz) {
- System.out.println(String.format("Reclaim Memory Chunk: %X Size: %s", System.identityHashCode(mres),
- null == sz ? "NULL" : sz.toString()));
- return false;
- }
- });
-
- for (long i = 0; i < cKEYCAPACITY; ++i) {
- act.setHandler(i, 0L);
- }
-
- Person<Integer> mother;
- Person<Integer> person;
-
- long keyidx = 0;
- long val;
-
- try {
- while (true) {
- // if (keyidx >= KEYCAPACITY) break;
-
- keyidx %= cKEYCAPACITY;
-
- System.out.printf("************ Generating People on Key %d ***********\n", keyidx);
-
- val = act.getHandler(keyidx);
- if (0L != val) {
- PersonFactory.restore(act, val, true);
- }
-
- person = PersonFactory.create(act);
- person.setAge((short) rand.nextInt(50));
- person.setName(String.format("Name: [%s]", UUID.randomUUID().toString()), true);
- person.setName(String.format("Name: [%s]", UUID.randomUUID().toString()), true);
- person.setName(String.format("Name: [%s]", UUID.randomUUID().toString()), true);
- person.setName(String.format("Name: [%s]", UUID.randomUUID().toString()), true);
-
- act.setHandler(keyidx, person.getHandler());
-
- for (int deep = 0; deep < rand.nextInt(100); ++deep) {
-
- mother = PersonFactory.create(act);
- mother.setAge((short) (50 + rand.nextInt(50)));
- mother.setName(String.format("Name: [%s]", UUID.randomUUID().toString()), true);
-
- person.setMother(mother, true);
-
- person = mother;
-
- }
- ++keyidx;
- }
- } finally {
- act.close();
- }
- }
-
- @Test(dependsOnMethods = { "testGenPeople" })
- public void testCheckPeople() throws RetrieveDurableEntityError {
- NonVolatileMemAllocator act = new NonVolatileMemAllocator(Utils.getNonVolatileMemoryAllocatorService("pmalloc"),
- 1024 * 1024 * 8, "./pobj_person.dat", true);
- act.setBufferReclaimer(new Reclaim<ByteBuffer>() {
- @Override
- public boolean reclaim(ByteBuffer mres, Long sz) {
- System.out.println(String.format("Reclaim Memory Buffer: %X Size: %s", System.identityHashCode(mres),
- null == sz ? "NULL" : sz.toString()));
- return false;
- }
- });
- act.setChunkReclaimer(new Reclaim<Long>() {
- @Override
- public boolean reclaim(Long mres, Long sz) {
- System.out.println(String.format("Reclaim Memory Chunk: %X Size: %s", System.identityHashCode(mres),
- null == sz ? "NULL" : sz.toString()));
- return false;
- }
- });
-
- long val;
- for (long i = 0; i < cKEYCAPACITY; ++i) {
- System.out.printf("----------Key %d--------------\n", i);
- val = act.getHandler(i);
- if (0L == val) {
- break;
- }
- Person<Integer> person = PersonFactory.restore(act, val, true);
- while (null != person) {
- person.testOutput();
- person = person.getMother();
- }
- }
-
- act.close();
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/collections/src/test/java/org/apache/mnemonic/collections/Payload.java
----------------------------------------------------------------------
diff --git a/collections/src/test/java/org/apache/mnemonic/collections/Payload.java b/collections/src/test/java/org/apache/mnemonic/collections/Payload.java
deleted file mode 100644
index a6f6518..0000000
--- a/collections/src/test/java/org/apache/mnemonic/collections/Payload.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * 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.
- */
-
-package org.apache.mnemonic.collections;
-
-/**
- * a dummy object that is used for other test cases.
- *
- *
- *
- */
-public class Payload implements java.io.Serializable, Comparable<Payload> {
-
- private static final long serialVersionUID = 187397440699436500L;
-
- public Payload(int iv, String strv, double dv) {
- ival = iv;
- strval = strv;
- dval = dv;
- }
-
- public int ival;
- public String strval;
- public double dval;
-
- @Override
- public int compareTo(Payload pl) {
- return ival == pl.ival && strval.equals(pl.strval) && dval == pl.dval ? 0 : 1;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/collections/src/test/java/org/apache/mnemonic/collections/Person.java
----------------------------------------------------------------------
diff --git a/collections/src/test/java/org/apache/mnemonic/collections/Person.java b/collections/src/test/java/org/apache/mnemonic/collections/Person.java
deleted file mode 100644
index 5210847..0000000
--- a/collections/src/test/java/org/apache/mnemonic/collections/Person.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * 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.
- */
-
-package org.apache.mnemonic.collections;
-
-import org.apache.mnemonic.Durable;
-import org.apache.mnemonic.EntityFactoryProxy;
-import org.apache.mnemonic.GenericField;
-import org.apache.mnemonic.DurableEntity;
-import org.apache.mnemonic.DurableGetter;
-import org.apache.mnemonic.DurableSetter;
-import org.apache.mnemonic.OutOfHybridMemory;
-import org.apache.mnemonic.RetrieveDurableEntityError;
-import org.testng.annotations.Test;
-
-/**
- *
- *
- */
-
-@DurableEntity
-public abstract class Person<E> implements Durable, Comparable<Person<E>> {
- E element;
-
- @Override
- public void initializeAfterCreate() {
- System.out.println("Initializing After Created");
- }
-
- @Override
- public void initializeAfterRestore() {
- System.out.println("Initializing After Restored");
- }
-
- @Override
- public void setupGenericInfo(EntityFactoryProxy[] efproxies, GenericField.GType[] gftypes) {
-
- }
-
- @Test
- public void testOutput() throws RetrieveDurableEntityError {
- System.out.printf("Person %s, Age: %d ( %s ) \n", getName(), getAge(),
- null == getMother() ? "No Recorded Mother" : "Has Recorded Mother");
- }
-
- public int compareTo(Person<E> anotherPerson) {
- int ret = 0;
- if (0 == ret) {
- ret = getAge().compareTo(anotherPerson.getAge());
- }
- if (0 == ret) {
- ret = getName().compareTo(anotherPerson.getName());
- }
- return ret;
- }
-
- @DurableGetter(Id = 1L)
- public abstract Short getAge();
-
- @DurableSetter
- public abstract void setAge(Short age);
-
- @DurableGetter(Id = 2L)
- public abstract String getName() throws RetrieveDurableEntityError;
-
- @DurableSetter
- public abstract void setName(String name, boolean destroy)
- throws OutOfHybridMemory, RetrieveDurableEntityError;
-
- @DurableGetter(Id = 3L)
- public abstract Person<E> getMother() throws RetrieveDurableEntityError;
-
- @DurableSetter
- public abstract void setMother(Person<E> mother, boolean destroy) throws RetrieveDurableEntityError;
-
- @DurableGetter(Id = 4L)
- public abstract Person<E> getFather() throws RetrieveDurableEntityError;
-
- @DurableSetter
- public abstract void setFather(Person<E> mother, boolean destroy) throws RetrieveDurableEntityError;
-}
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/collections/src/test/resources/testng.xml
----------------------------------------------------------------------
diff --git a/collections/src/test/resources/testng.xml b/collections/src/test/resources/testng.xml
deleted file mode 100644
index eb82560..0000000
--- a/collections/src/test/resources/testng.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
-<suite name="Suite" verbose="1" parallel="tests" thread-count="1">
- <test name="Test">
- <classes>
- <class name="org.apache.mnemonic.collections.DurableNodeValueNGTest"/>
- </classes>
- </test> <!-- Test -->
-</suite> <!-- Suite -->
-
-
-<!--
- <class name="org.apache.mnemonic.collections.Person"/>
- <class name="org.apache.mnemonic.collections.DurablePersonNGTest"/>
- <class name="org.apache.mnemonic.collections.DurableListNGTest"/>
- <class name="org.apache.mnemonic.collections.DurableNodeValueNGTest"/>
- -->
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/core/pom.xml
----------------------------------------------------------------------
diff --git a/core/pom.xml b/core/pom.xml
deleted file mode 100644
index 5572c44..0000000
--- a/core/pom.xml
+++ /dev/null
@@ -1,158 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<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/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.mnemonic</groupId>
- <artifactId>mnemonic-parent</artifactId>
- <version>0.1.2-incubating-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <groupId>org.apache.mnemonic</groupId>
- <artifactId>mnemonic-core</artifactId>
- <packaging>jar</packaging>
- <name>Mnemonic Project Core</name>
-
- <dependencies>
- <dependency>
- <groupId>org.testng</groupId>
- <artifactId>testng</artifactId>
- </dependency>
- <dependency>
- <groupId>org.flowcomputing.commons</groupId>
- <artifactId>commons-resgc</artifactId>
- </dependency>
- <dependency>
- <groupId>org.flowcomputing.commons</groupId>
- <artifactId>commons-primitives</artifactId>
- </dependency>
- <dependency>
- <groupId>com.squareup</groupId>
- <artifactId>javapoet</artifactId>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.bsc.maven</groupId>
- <artifactId>maven-processor-plugin</artifactId>
- <executions>
- <execution>
- <id>process-test</id>
- <goals><goal>process-test</goal></goals>
- <phase>generate-test-sources</phase>
- <configuration>
- <compilerArguments>-XDenableSunApiLintControl</compilerArguments>
- <processors>
- <processor>${project.groupId}.DurableEntityProcessor</processor>
- </processors>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-shade-plugin</artifactId>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>shade</goal>
- </goals>
- <configuration>
- <transformers>
- </transformers>
- <minimizeJar>true</minimizeJar>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
- <profiles>
- <profile>
- <id>proguard</id>
- <build>
- <plugins>
- <plugin>
- <groupId>com.github.wvengen</groupId>
- <artifactId>proguard-maven-plugin</artifactId>
- <executions>
- <execution>
- <phase>package</phase>
- <goals><goal>proguard</goal></goals>
- </execution>
- </executions>
- <configuration>
- <maxMemory>4096m</maxMemory>
- <proguardInclude>${basedir}/proguard.conf</proguardInclude>
- <libs>
- <lib>${java.home}/lib/rt.jar</lib>
- </libs>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>doc</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <configuration>
- <aggregate>true</aggregate>
- <show>public</show>
- <nohelp>true</nohelp>
- <header>Mnenomic-core, ${project.version}</header>
- <footer>Mnenomic-core, ${project.version}</footer>
- <doctitle>Mnenomic-core, ${project.version}</doctitle>
- <links>
- <link>http://static.springsource.org/spring/docs/3.0.x/javadoc-api/</link>
- <additionalparam>-Xdoclint:all -Xdoclint:-missing</additionalparam>
- </links>
- </configuration>
- <executions>
- <execution>
- <id>attach-javadocs</id>
- <goals>
- <goal>jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>test</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <argLine>-Xmx2g -XX:MaxPermSize=1g</argLine>
- <suiteXmlFiles>
- <suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile>
- </suiteXmlFiles>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-
-</project>
-
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/core/proguard.conf
----------------------------------------------------------------------
diff --git a/core/proguard.conf b/core/proguard.conf
deleted file mode 100644
index 889adc6..0000000
--- a/core/proguard.conf
+++ /dev/null
@@ -1,91 +0,0 @@
--dontshrink
--dontoptimize
-
--keepattributes Signature
--renamesourcefileattribute SourceFile
--keepattributes Exceptions,InnerClasses,Signature,Deprecated,
- SourceFile,LineNumberTable,*Annotation*,EnclosingMethod
-
--keepclasseswithmembers class com.intel.bigdatamem.* {
- *** <init>(...);
-}
-
--keep class com.intel.bigdatamem.GenericField* {
- public <methods>;
-}
-
--keepclassmembers,allowoptimization enum * {
- public static **[] values();
- public static ** valueOf(java.lang.String);
-}
-
--keepclassmembernames class * {
- java.lang.Class class$(java.lang.String);
- java.lang.Class class$(java.lang.String, boolean);
-}
-
--keep class org.flowcomputing.commons.resgc.ResHolder {
- public <methods>;
-}
-
--keepclasseswithmembers class com.intel.bigdatamem.ByteBufferBacked* {
- public <methods>;
-}
-
--keepclasseswithmembers class ** extends javax.annotation.processing.AbstractProcessor {
- public <methods>;
-}
-
--keepclasseswithmembers class ** extends java.lang.RuntimeException {
- public <methods>;
-}
-
--keepclasseswithmembers class ** extends java.lang.Exception {
- public <methods>;
-}
-
--keepclasseswithmembers class ** extends com.intel.bigdatamem.Reclaim {
- public <methods>;
-}
-
--keep public class com.intel.bigdatamem.CachePool* {
- public *;
-}
-
--keep public class com.intel.bigdatamem.MemClustering* {
- public *;
-}
-
--keep public interface ** {
- public <methods>;
-}
-
--keep public enum ** {
- *;
-}
-
--keep class ** extends com.intel.bigdatamem.CommonAllocator {
- public <methods>;
-}
-
--keep class ** extends com.intel.bigdatamem.MemHolder {
- public <methods>;
-}
-
--keep class com.intel.bigdatamem.Utils {
- public <methods>;
- public final <fields>;
-}
-
--keep @NonVolatileEntity class * {
- public <methods>;
-}
-
--keep public @interface ** {
- *;
-}
-
--keepclasseswithmembers class * {
- native <methods>;
-}
-
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/core/src/main/assembly/assembly.xml
----------------------------------------------------------------------
diff --git a/core/src/main/assembly/assembly.xml b/core/src/main/assembly/assembly.xml
deleted file mode 100644
index 7eca30c..0000000
--- a/core/src/main/assembly/assembly.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<assembly>
- <id>mixed</id>
- <formats>
- <format>jar</format>
- </formats>
- <dependencySets>
- <dependencySet>
- <useProjectArtifact>true</useProjectArtifact>
- <outputDirectory>lib</outputDirectory>
- </dependencySet>
- </dependencySets>
- <fileSets>
- <fileSet>
- <outputDirectory>/</outputDirectory>
- <includes>
- <include>README.txt</include>
- </includes>
- </fileSet>
- <fileSet>
- <directory>src/main/scripts</directory>
- <outputDirectory>/bin</outputDirectory>
- <includes>
- <include>run.sh</include>
- <include>run.bat</include>
- </includes>
- </fileSet>
- </fileSets>
-</assembly>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/core/src/main/java/org/apache/mnemonic/Allocatable.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/mnemonic/Allocatable.java b/core/src/main/java/org/apache/mnemonic/Allocatable.java
deleted file mode 100644
index 2fec5c8..0000000
--- a/core/src/main/java/org/apache/mnemonic/Allocatable.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * 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.
- */
-
-package org.apache.mnemonic;
-
-/**
- * an interface to allocate memory resources from any underlying memory kind of
- * storage.
- *
- */
-public interface Allocatable<A extends CommonAllocator<A>> {
-
- /**
- * create a memory chunk that is managed by its holder.
- *
- * @param size
- * specify the size of memory chunk
- *
- * @param autoreclaim
- * specify whether or not to reclaim this chunk automatically
- *
- * @return a holder contains a memory chunk
- */
- MemChunkHolder<A> createChunk(long size, boolean autoreclaim);
-
- /**
- * create a memory chunk that is managed by its holder.
- *
- * @param size
- * specify the size of memory chunk
- *
- * @return a holder contains a memory chunk
- */
- MemChunkHolder<A> createChunk(long size);
-
- /**
- * create a memory buffer that is managed by its holder.
- *
- * @param size
- * specify the size of memory buffer
- *
- * @param autoreclaim
- * specify whether or not to reclaim this buffer automatically
- *
- * @return a holder contains a memory buffer
- */
- MemBufferHolder<A> createBuffer(long size, boolean autoreclaim);
-
- /**
- * create a memory buffer that is managed by its holder.
- *
- * @param size
- * specify the size of memory buffer
- *
- * @return a holder contains a memory buffer
- */
- MemBufferHolder<A> createBuffer(long size);
-
- /**
- * register a memory chunk for auto-reclaim
- *
- * @param mholder
- * specify a chunk holder to register
- */
- void registerChunkAutoReclaim(MemChunkHolder<A> mholder);
-
- /**
- * register a memory buffer for auto-reclaim
- *
- * @param mholder
- * specify a buffer holder to register
- */
- void registerBufferAutoReclaim(MemBufferHolder<A> mholder);
-
- /**
- * resize a memory chunk.
- *
- * @param mholder
- * specify a chunk holder for resizing
- *
- * @param size
- * specify a new size of this memory chunk
- *
- * @return the resized memory chunk holder
- *
- */
- MemChunkHolder<A> resizeChunk(MemChunkHolder<A> mholder, long size);
-
- /**
- * resize a memory buffer.
- *
- * @param mholder
- * specify a buffer holder for resizing
- *
- * @param size
- * specify a new size of this memory buffer
- *
- * @return the resized memory buffer holder
- *
- */
- MemBufferHolder<A> resizeBuffer(MemBufferHolder<A> mholder, long size);
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/core/src/main/java/org/apache/mnemonic/Allocator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/mnemonic/Allocator.java b/core/src/main/java/org/apache/mnemonic/Allocator.java
deleted file mode 100644
index 28a1119..0000000
--- a/core/src/main/java/org/apache/mnemonic/Allocator.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * 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.
- */
-
-package org.apache.mnemonic;
-
-/**
- * an interface to manage the lifecycle of memory allocator
- *
- */
-public interface Allocator<A extends CommonAllocator<A>> extends Allocatable<A> {
-
- /**
- * release the underlying memory pool and close it.
- *
- */
- void close();
-
- /**
- * sync. dirty data to underlying memory-like device
- *
- */
- void sync();
-
- /**
- * enable active garbage collection. the GC will be forced to collect garbages
- * when there is no more space for current allocation request.
- *
- * @param timeout
- * the timeout is used to yield for GC performing
- *
- * @return this allocator
- */
- A enableActiveGC(long timeout);
-
- /**
- * disable active garbage collection.
- *
- * @return this allocator
- */
- A disableActiveGC();
-
-}