Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id E062F200BB3 for ; Wed, 2 Nov 2016 23:54:58 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id DD356160B0B; Wed, 2 Nov 2016 22:54:58 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 802AD160AF0 for ; Wed, 2 Nov 2016 23:54:56 +0100 (CET) Received: (qmail 80726 invoked by uid 500); 2 Nov 2016 22:54:55 -0000 Mailing-List: contact commits-help@tamaya.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@tamaya.incubator.apache.org Delivered-To: mailing list commits@tamaya.incubator.apache.org Received: (qmail 80717 invoked by uid 99); 2 Nov 2016 22:54:55 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 02 Nov 2016 22:54:55 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 25336C6D3B for ; Wed, 2 Nov 2016 22:54:55 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -6.218 X-Spam-Level: X-Spam-Status: No, score=-6.218 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-2.999, WEIRD_QUOTING=0.001] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id qyEt2d7sQEd6 for ; Wed, 2 Nov 2016 22:54:49 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with SMTP id 9CB0F5F24F for ; Wed, 2 Nov 2016 22:54:48 +0000 (UTC) Received: (qmail 76664 invoked by uid 99); 2 Nov 2016 22:53:11 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 02 Nov 2016 22:53:11 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id D89ABE0FC4; Wed, 2 Nov 2016 22:53:10 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: pottlinger@apache.org To: commits@tamaya.incubator.apache.org Date: Wed, 02 Nov 2016 22:53:11 -0000 Message-Id: <307a585895cf4f1ca2ff534abc139f56@git.apache.org> In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [02/57] incubator-tamaya-site git commit: TAMAYA-178: Regenerate fresh homepage. archived-at: Wed, 02 Nov 2016 22:54:59 -0000 http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/97bc8884/js/prettify.js ---------------------------------------------------------------------- diff --git a/js/prettify.js b/js/prettify.js deleted file mode 100644 index 7b99049..0000000 --- a/js/prettify.js +++ /dev/null @@ -1,30 +0,0 @@ -!function(){var q=null;window.PR_SHOULD_USE_CONTINUATION=!0; -(function(){function S(a){function d(e){var b=e.charCodeAt(0);if(b!==92)return b;var a=e.charAt(1);return(b=r[a])?b:"0"<=a&&a<="7"?parseInt(e.substring(1),8):a==="u"||a==="x"?parseInt(e.substring(2),16):e.charCodeAt(1)}function g(e){if(e<32)return(e<16?"\\x0":"\\x")+e.toString(16);e=String.fromCharCode(e);return e==="\\"||e==="-"||e==="]"||e==="^"?"\\"+e:e}function b(e){var b=e.substring(1,e.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),e=[],a= -b[0]==="^",c=["["];a&&c.push("^");for(var a=a?1:0,f=b.length;a122||(l<65||h>90||e.push([Math.max(65,h)|32,Math.min(l,90)|32]),l<97||h>122||e.push([Math.max(97,h)&-33,Math.min(l,122)&-33]))}}e.sort(function(e,a){return e[0]-a[0]||a[1]-e[1]});b=[];f=[];for(a=0;ah[0]&&(h[1]+1>h[0]&&c.push("-"),c.push(g(h[1])));c.push("]");return c.join("")}function s(e){for(var a=e.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),c=a.length,d=[],f=0,h=0;f=2&&e==="["?a[f]=b(l):e!=="\\"&&(a[f]=l.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return a.join("")}for(var x=0,m=!1,j=!1,k=0,c=a.length;k=5&&"lang-"===w.substring(0,5))&&!(t&&typeof t[1]==="string"))f=!1,w="src";f||(r[z]=w)}h=c;c+=z.length;if(f){f=t[1];var l=z.indexOf(f),B=l+f.length;t[2]&&(B=z.length-t[2].length,l=B-f.length);w=w.substring(5);H(j+h,z.substring(0,l),g,k);H(j+h+l,f,I(w,f),k);H(j+h+B,z.substring(B),g,k)}else k.push(j+h,w)}a.g=k}var b={},s;(function(){for(var g=a.concat(d),j=[],k={},c=0,i=g.length;c=0;)b[n.charAt(e)]=r;r=r[1];n=""+r;k.hasOwnProperty(n)||(j.push(r),k[n]=q)}j.push(/[\S\s]/);s=S(j)})();var x=d.length;return g}function v(a){var d=[],g=[];a.tripleQuotedStrings?d.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?d.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/, -q,"'\"`"]):d.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&g.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var b=a.hashComments;b&&(a.cStyleComments?(b>1?d.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):d.push(["com",/^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),g.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/,q])):d.push(["com", -/^#[^\n\r]*/,q,"#"]));a.cStyleComments&&(g.push(["com",/^\/\/[^\n\r]*/,q]),g.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));if(b=a.regexLiterals){var s=(b=b>1?"":"\n\r")?".":"[\\S\\s]";g.push(["lang-regex",RegExp("^(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[+\\-]=|->|\\/=?|::?|<>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*("+("/(?=[^/*"+b+"])(?:[^/\\x5B\\x5C"+b+"]|\\x5C"+s+"|\\x5B(?:[^\\x5C\\x5D"+b+"]|\\x5C"+ -s+")*(?:\\x5D|$))+/")+")")])}(b=a.types)&&g.push(["typ",b]);b=(""+a.keywords).replace(/^ | $/g,"");b.length&&g.push(["kwd",RegExp("^(?:"+b.replace(/[\s,]+/g,"|")+")\\b"),q]);d.push(["pln",/^\s+/,q," \r\n\t\u00a0"]);b="^.[^\\s\\w.$@'\"`/\\\\]*";a.regexLiterals&&(b+="(?!s*/)");g.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/, -q],["pun",RegExp(b),q]);return C(d,g)}function J(a,d,g){function b(a){var c=a.nodeType;if(c==1&&!x.test(a.className))if("br"===a.nodeName)s(a),a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)b(a);else if((c==3||c==4)&&g){var d=a.nodeValue,i=d.match(m);if(i)c=d.substring(0,i.index),a.nodeValue=c,(d=d.substring(i.index+i[0].length))&&a.parentNode.insertBefore(j.createTextNode(d),a.nextSibling),s(a),c||a.parentNode.removeChild(a)}}function s(a){function b(a,c){var d= -c?a.cloneNode(!1):a,e=a.parentNode;if(e){var e=b(e,1),g=a.nextSibling;e.appendChild(d);for(var i=g;i;i=g)g=i.nextSibling,e.appendChild(i)}return d}for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),d;(d=a.parentNode)&&d.nodeType===1;)a=d;c.push(a)}for(var x=/(?:^|\s)nocode(?:\s|$)/,m=/\r\n?|\n/,j=a.ownerDocument,k=j.createElement("li");a.firstChild;)k.appendChild(a.firstChild);for(var c=[k],i=0;i=0;){var b=d[g];F.hasOwnProperty(b)?D.console&&console.warn("cannot override language handler %s",b):F[b]=a}}function I(a,d){if(!a||!F.hasOwnProperty(a))a=/^\s*=l&&(b+=2);g>=B&&(r+=2)}}finally{if(f)f.style.display=h}}catch(u){D.console&&console.log(u&&u.stack||u)}}var D=window,y=["break,continue,do,else,for,if,return,while"],E=[[y,"auto,case,char,const,default,double,enum,extern,float,goto,inline,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], -"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],M=[E,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,delegate,dynamic_cast,explicit,export,friend,generic,late_check,mutable,namespace,nullptr,property,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],N=[E,"abstract,assert,boolean,byte,extends,final,finally,implements,import,instanceof,interface,null,native,package,strictfp,super,synchronized,throws,transient"], -O=[N,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,internal,into,is,let,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var,virtual,where"],E=[E,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],P=[y,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"], -Q=[y,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],W=[y,"as,assert,const,copy,drop,enum,extern,fail,false,fn,impl,let,log,loop,match,mod,move,mut,priv,pub,pure,ref,self,static,struct,true,trait,type,unsafe,use"],y=[y,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],R=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)\b/, -V=/\S/,X=v({keywords:[M,O,E,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",P,Q,y],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),F={};p(X,["default-code"]);p(C([],[["pln",/^[^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-", -/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);p(C([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/], -["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);p(C([],[["atv",/^[\S\s]+/]]),["uq.val"]);p(v({keywords:M,hashComments:!0,cStyleComments:!0,types:R}),["c","cc","cpp","cxx","cyc","m"]);p(v({keywords:"null,true,false"}),["json"]);p(v({keywords:O,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:R}), -["cs"]);p(v({keywords:N,cStyleComments:!0}),["java"]);p(v({keywords:y,hashComments:!0,multiLineStrings:!0}),["bash","bsh","csh","sh"]);p(v({keywords:P,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),["cv","py","python"]);p(v({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:2}),["perl","pl","pm"]);p(v({keywords:Q, -hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb","ruby"]);p(v({keywords:E,cStyleComments:!0,regexLiterals:!0}),["javascript","js"]);p(v({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,throw,true,try,unless,until,when,while,yes",hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);p(v({keywords:W,cStyleComments:!0,multilineStrings:!0}),["rc","rs","rust"]); -p(C([],[["str",/^[\S\s]+/]]),["regex"]);var Y=D.PR={createSimpleLexer:C,registerLangHandler:p,sourceDecorator:v,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ",prettyPrintOne:D.prettyPrintOne=function(a,d,g){var b=document.createElement("div");b.innerHTML="
"+a+"
";b=b.firstChild;g&&J(b,g,!0);K({h:d,j:g,c:b,i:1}); -return b.innerHTML},prettyPrint:D.prettyPrint=function(a,d){function g(){for(var b=D.PR_SHOULD_USE_CONTINUATION?c.now()+250:Infinity;i - - - - - Tamaya Incubator - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - - -
-
- - - -

2016-11-02

- -

-

Apache Tamaya: Quickstart

-
-
-

The fastest way to start with Tamaya is just using the Core implementation, -implementing the API in small, minimalistic way. For that add the following -Maven dependency to your project:

-
-
-
-
<dependency>
-    <groupId>org.apache.tamaya</groupId>
-    <artifactId>tamaya-core</artifactId>
-    <version>0.3-SNAPSHOT</version>
-</dependency>
-
-
-
-

Given that you can add your configuration properties to the following locations in your classpath:

-
-
-
-
META-INF/javaconfiguration.properties
-
-
-
-

Additionally also system properties are taken into account, hereby overriding the default properties. Overall -Tamaya by default defines the following configuration model per default (most significant first):

-
-
-
    -
  1. -

    System Properties

    -
  2. -
  3. -

    META-INF/javaconfiguration.properties

    -
  4. -
-
-
-

There many modules that extend the capabilities of Tamaya. -These modules doe not depend on core, so alternative -implementations of the Tamaya API should work similarly.

-
-
-

Multiple configuration files

-
-

By default you can provide multiple javaconfig.properties files, e.g. as part -of multiple jars loaded into your system. The system internally creates one -PropertySource for each file found on the classpath. All PropertySource -instances created are ordered by their ordinal value (an int).

-
-
-

Tamaya Core defines the following default ordinals (used, if no custom ordinal is defined):

-
- ---- - - - - - - - - - - - - - - - - - - -

Source

Ordinal

System Properties

400

Environment Variables

300

Java Configuration Properties

100

-
-

That means that the value of a configuration variable x overhanded via -Dx=yes has -a higher precedence then the entry for configuration variable x specified in a javaconfig.properties -as x=no.

-
-
-

These ordinal values can be either hardcoded, or be dynamically -configurable as key within each configuration resource. The ladder can be done by defining a special -Tamaya ordinal value as follows:

-
-
-
-
# override default Tamaya ordinal for property files
-tamaya.ordinal=123
-
-
-
-

This assigns an ordinal of 123 to each entry in that configuration resource.

-
-
-
-

Using additional features of Tamaya

-
-

There many modules that extend the capabilities of -Tamaya. These modules doe not depend on core, so alternative -implementations of the Tamaya API should work similarly. Following a -small extract of most important modules available (or available soon):

-
-
-

Dynamic Resolution and Value Placeholders

-
-
-
<dependency>
-  <artifactId>org.apache.tamaya.ext</id>
-  <artifactId>tamaya-resolver</artifactId>
-  <version>0.3-SNAPSHOT</version>
-</dependency>
-
-
-
-

With that it is possible to define values with Unix styled placeholders that are -resolved on configuration access, e.g. -mykey=my${dynamicValue}ยด. For further details refer to the module documentation. -This module also provides a `Resolver singleton:

-
-
-
-
String myExpression = ...;
-String resolved = Resolver.evaluateExpression(myExpression);
-
-
-
-
-

Ant-styled Path Resolution of Resources

-
-
-
<dependency>
-  <artifactId>org.apache.tamaya.ext</id>
-  <artifactId>tamaya-resolution</artifactId>
-  <version>0.3-SNAPSHOT</version>
-</dependency>
-
-
-
-

This module provides a Resolver singleton that allows to -resolve configuration resources using a ant-styled resource -description, e.g.

-
-
-
-
Collection<URL> urls = ResourceResolver.getResources("META-INF/cfg/**/*.properties");
-
-
-
-

For further details refer to the module documentation.

-
-
-
-

Configuration Injection

-
-
-
<dependency>
-  <artifactId>org.apache.tamaya.ext</id>
-  <artifactId>tamaya-inject</artifactId>
-  <version>{tamaya_version_development}</version>
-</dependency>
-
-
-
-

With this extension you can let Tamaya inject configuration into instances of -annotated classes or let Tamaya implement a configuration template.

-
-
-

Corresponding configuration:

-
-
-
-
public class MyType {
-   @ConfiguredProperty("name")
-   private String typeName;
-
-   public String getName() {
-      return name;
-   }
-}
-
-MyType type = new MyType();
-ConfigurationInjector.configure(type);
-
-
-
-

Or the same as template:

-
-
-
-
public interface MyTypeTemplate {
-   @ConfiguredProperty("name")
-   public String getName();
-}
-
-MyTypeTemplate type = ConfigurationInjector.createTemplate(MyTypeTemplate.class);
-
-
-
-

Currently the following resolvers are available:

-
- ---- - - - - - - - - - - - - - - - - - - -

Conf

Cross-reference to another configuration entry

URL

Referencing a resource addressable by an URL.

File

Reference to a file, replacing the expression with the file’s text value.

Resource

Reference to classpath resource, replacing the expression with the resource’s text value.

-
-
-
-

- -
-
-
-
-
- - - - - - - - - -
- - http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/97bc8884/release-guide.html ---------------------------------------------------------------------- diff --git a/release-guide.html b/release-guide.html deleted file mode 100644 index c22a314..0000000 --- a/release-guide.html +++ /dev/null @@ -1,531 +0,0 @@ - - - - - - Apache Tamaya: Release Guide - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - - -
-
- - - -

2016-10-31

- -

-
-
-

Performing a release requires several steps. This document describes each step, so everybody in the committer’s -team should be able to perform the release procedure.

-
-
-
-
-

1. Tell the others you would proceed with the release procedure

-
-
-
-
first steps for the next release
-
-Hi @ all,
-
-If there are no objections, I'll start with the first steps for
-the next release (review, documentation,...).
-It would be great to start with the release procedure next week.
-
-Best regards,
-[name]
-
-
-
-
-
-

2. Check everything is ready

-
-
-
    -
  • -

    Check the jenkins builds.

    -
  • -
  • -

    Ensure all JIRA-tickets targeting the release are resolved. If not, get in contact with the ticket -owner/assignee to check

    -
    -
      -
    • -

      if the ticket can be postponed for the next release

      -
    • -
    • -

      how long it takes to resolve it and if one can help.

      -
    • -
    -
    -
  • -
-
-
-
-
-

3. Prepare the release

-
-
-
    -
  • -

    Create release notes and commit them to tamaya/readme/ (format ReleaseNotes-[version].html)

    -
  • -
  • -

    Create a release branch in git and switch to this branch:

    -
  • -
-
-
-

3.1. Using the Release Plugin

-
-

For performing the release you can use the maven release plugin:

-
-
-
-
$ git checkout -b vote-tamaya-[release version]
-$ export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=200m"
-$ mvn release:prepare -DdryRun=true -DperformRelease=true
-# optionally pass GPG params for signing with: -Darguments="-Dgpg.keyname=1336D3E6 -Dgpg.passphrase=XXXXXX"
-# copy prepared workspace (to continue faster if an upload fails in the next step)
-
-
-
-
    -
  • -

    If something fails you may switch to the master branch, fix whatever is needed and rebase your release branch to -accommodate the latest changes done.

    -
  • -
  • -

    On success you can check the release packages from dist/target.

    -
  • -
  • -

    If everything looks good you can proceed with the release:

    -
  • -
-
-
-
-
$ export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=200m"
-$ mvn release:prepare -DperformRelease=true
-$ mvn release:perform -DperformRelease=true
-
-
-
-
-

3.2. Preparing the release without the Release Plugin

-
-

The release plugin is great, but in some cases it breaks even, when release:prepare -DdryRun=true was successful. -Preparing the release vote without the release plugin is stright forward:

-
-
-
    -
  • -

    As described checkout a release branch of the current head

    -
  • -
  • -

    Then us maven and git commands to prepare the release:

    -
  • -
-
-
-
-
$ git checkout -b vote-tamaya-[release version]
-$ export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=200m"
-$ mvn versions:set versions:commit -DnewVersion=[release version] -DperformRelease=true
-# build the release locally and sign it with your certs
-$ mvn clean install -DperformRelease=true -Dgpg.keyname=1336D3E6 -Dgpg.passphrase=XXXXXX
-
-
-
-
    -
  • -

    Check if everything is in place and correct, when finished you can tag and deploy the release…​

    -
  • -
-
-
-
-
$ mvn deploy -DperformRelease=true -Dgpg.keyname=1336D3E6 -Dgpg.passphrase=XXXXXX
-
-
-
-
    -
  • -

    check the created commits including user-name and email

    -
  • -
  • -

    login to https://repository.apache.org/ and go to "Staging Repositories"

    -
  • -
  • -

    check the contents of the newly created tamaya staging repository

    -
  • -
  • -

    close the repository to let Nexus do its validations

    -
  • -
  • -

    On success:

    -
  • -
  • -

    push the release-branch to the git repo

    -
  • -
-
-
-
-
$ git add -A
-$ git commit -m "Release Prepare: Set release version."
-$ git tag vote01-[release-version]
-$ git push --tags
-
-
-
-

Finally open the next development version:

-
-
-
-
# example: newVersion=0.3-incubating-SNAPSHOT
-$ mvn version:set versions:commit -DnewVersion=[development-version]
-$ git add -A
-$ git commit -m "Release Prepare: Open new development version."
-
-
-
-
    -
  • -

    Add the distribution artifacts to the dev repositories:

    -
  • -
-
-
-
-
$ svn co https://dist.apache.org/repos/dist/dev/incubator/tamaya/
-$ mkdir [version]
-$ set RELEASE_HOME='pwd'/[version]
-$ cd PROJECT_ROOT
-$ cp DISCLAIMER $RELEASE_HOME
-$ cp NOTICE $RELEASE_HOME
-$ cp LICENCE $RELEASE_HOME
-$ cp rat.txt $RELEASE_HOME
-# Copy everything from
-#  $STAGING_REPO/distribution/0.2-incubating/tamaya-distribution-[version]-distribution-* into $RELEASE_HOME
-$ svn add [version]
-$ svn commit --username <apacheId>
-
-
-
- -
-
-
-
-
-

4. Start the vote

-
-
-
-
[VOTE] Release of Apache Tamaya [version]
-
-Hi,
-
-I was running the needed tasks to get the [version] release of Apache Tamaya out.
-The artifacts are deployed to Nexus [1] (and [2]) and releases [4].
-
-The tag is available at [3] and will renamed once the vote passed.
-
-Please take a look at the artifacts and vote!
-
-Please note:
-This vote is a "majority approval" with a minimum of three +1 votes (see [5]).
-
-------------------------------------------------
-[ ] +1 for community members who have reviewed the bits
-[ ] +0
-[ ] -1 for fatal flaws that should cause these bits not to be released, and why..............
-------------------------------------------------
-
-Thanks,
-[name]
-
-[1] https://repository.apache.org/content/repositories/...
-[2] https://repository.apache.org/content/repositories/org/apache/tamaya/tamaya-distribution/[version]/tamaya-[version]-source-release.zip
-    https://repository.apache.org/content/repositories/org/apache/tamaya/tamaya-distribution/[version]/tamaya-[version]-bin-release.zip
-[3] https://git1-us-west.apache.org/repos/asf?p=incubator-tamaya.git;a=commit;h=2910da468fce16210e6dd77d8ba23ddbdd434efe
-[4] https://dist.apache.org/repos/dist/dev/incubator/tamaya/[release-version]
-[5] http://www.apache.org/foundation/voting.html#ReleaseVotes
-
-
-
-
    -
  • -

    Announce the Vote

    -
    -
      -
    • -

      Create a short link to the release at http://s.apache.org (format Tamaya_[version])

      -
    • -
    • -

      Tweet about the vote via @TamayaConf

      -
    • -
    -
    -
  • -
  • -

    After 72 hours close the vote write a reult email, e.g.

    -
  • -
-
-
-
-
[Result] (was: Re: [VOTE] Release of Apache Tamaya [version])
-
-Thank you for voting!
-
-X binding +1 votes (pmc):
-[list]
-
-Y non-binding +1 votes:
-[list]
-
-Z -1 votes
-[list]
-
-
-
-
    -
  • -

    After the vote on the PPMC has been finished and is successful, repeat the voting process on the -incubator mailing list.

    -
  • -
-
-
-
-
-

5. Perform the release

-
-
-

If the binding majority approved the vote on both lists continue:

-
-
- -
-
-
-
$ git branch -m vote01-tamaya-[release-version] tamaya-[release-version]
-
-
-
-
    -
  • -

    Add a release tag:

    -
  • -
-
-
-
-
$ git tag -a tamaya-[release-version]
-
-
-
-
    -
  • -

    Merge master with the new prepared version:

    -
  • -
-
-
-
-
$ git checkout master
-$ git merge tamaya-[release-version]
-$ git push origin tamaya-[release-version]
-$ git push origin master
-
-
-
- -
-
-
-
$ svn co https://dist.apache.org/repos/dist/release/incubator/tamaya/
-$ mkdir [version]
-# add and commit the artifacts (*source-release.zip, *bin-release.zip + asc, md5, sha1)
-# use the artifacts from:
-# http://repo1.maven.org/maven2/org/apache/tamaya/tamaya-distribution/[version]/
-
-
-
-
-
-

6. Updating the Tamaya Project Site

-
-
-

Basically the new site should be directly deployable, just execute

-
-
-
-
$ mvn site site:deploy
-
-
-
-
-
-

7. Announce the new version

-
-
-

Announce the new version on @TamayaConf and other social media channels. -Also drop a short mail on the amiling list.

-
-
-

- -
-
-
-
-
- - - - - - - - - -
- - http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/97bc8884/sitemap.xml ---------------------------------------------------------------------- diff --git a/sitemap.xml b/sitemap.xml deleted file mode 100644 index e27e738..0000000 --- a/sitemap.xml +++ /dev/null @@ -1,157 +0,0 @@ - - - - https://tamaya.incubator.apache.org/extensions/mod_yaml.html - 2016-11-02 - - https://tamaya.incubator.apache.org/extensions/mod_cdi.html - 2016-11-02 - - https://tamaya.incubator.apache.org/usecases.html - 2016-11-02 - - https://tamaya.incubator.apache.org/start.html - 2016-11-02 - - https://tamaya.incubator.apache.org/quickstart.html - 2016-11-02 - - https://tamaya.incubator.apache.org/extensions/mod_resources.html - 2016-11-02 - - https://tamaya.incubator.apache.org/extensions/mod_resolver.html - 2016-11-02 - - https://tamaya.incubator.apache.org/extensions/mod_builder.html - 2016-11-02 - - https://tamaya.incubator.apache.org/api.html - 2016-10-31 - - https://tamaya.incubator.apache.org/community.html - 2016-10-31 - - https://tamaya.incubator.apache.org/core.html - 2016-10-31 - - https://tamaya.incubator.apache.org/devguide.html - 2016-10-31 - - https://tamaya.incubator.apache.org/download.html - 2016-10-31 - - https://tamaya.incubator.apache.org/examples.html - 2016-10-31 - - https://tamaya.incubator.apache.org/extensions/mod_camel.html - 2016-10-31 - - https://tamaya.incubator.apache.org/extensions/mod_classloader_support.html - 2016-10-31 - - https://tamaya.incubator.apache.org/extensions/mod_collections.html - 2016-10-31 - - https://tamaya.incubator.apache.org/extensions/mod_consul.html - 2016-10-31 - - https://tamaya.incubator.apache.org/extensions/mod_environment.html - 2016-10-31 - - https://tamaya.incubator.apache.org/extensions/mod_etcd.html - 2016-10-31 - - https://tamaya.incubator.apache.org/extensions/mod_events.html - 2016-10-31 - - https://tamaya.incubator.apache.org/extensions/mod_filter.html - 2016-10-31 - - https://tamaya.incubator.apache.org/extensions/mod_formats.html - 2016-10-31 - - https://tamaya.incubator.apache.org/extensions/mod_functions.html - 2016-10-31 - - https://tamaya.incubator.apache.org/extensions/mod_injection.html - 2016-10-31 - - https://tamaya.incubator.apache.org/extensions/mod_jodatime.html - 2016-10-31 - - https://tamaya.incubator.apache.org/extensions/mod_json.html - 2016-10-31 - - https://tamaya.incubator.apache.org/extensions/mod_management.html - 2016-10-31 - - https://tamaya.incubator.apache.org/extensions/mod_metamodel-staged.html - 2016-10-31 - - https://tamaya.incubator.apache.org/extensions/mod_model.html - 2016-10-31 - - https://tamaya.incubator.apache.org/extensions/mod_mutable_config.html - 2016-10-31 - - https://tamaya.incubator.apache.org/extensions/mod_optional.html - 2016-10-31 - - https://tamaya.incubator.apache.org/extensions/mod_osgi.html - 2016-10-31 - - https://tamaya.incubator.apache.org/extensions/mod_remote.html - 2016-10-31 - - https://tamaya.incubator.apache.org/extensions/mod_server.html - 2016-10-31 - - https://tamaya.incubator.apache.org/extensions/mod_spi-support.html - 2016-10-31 - - https://tamaya.incubator.apache.org/extensions/mod_spring.html - 2016-10-31 - - https://tamaya.incubator.apache.org/extensions.html - 2016-10-31 - - https://tamaya.incubator.apache.org/highleveldesign.html - 2016-10-31 - - https://tamaya.incubator.apache.org/history.html - 2016-10-31 - - https://tamaya.incubator.apache.org/release-guide.html - 2016-10-31 - - https://tamaya.incubator.apache.org/source.html - 2016-10-31 - - https://tamaya.incubator.apache.org/about.html - 2013-09-24 - - https://tamaya.incubator.apache.org/blog/2013/fourth-post.html - 2013-10-17 - - https://tamaya.incubator.apache.org/blog/2016/fourth-post.html - 2013-10-17 - - https://tamaya.incubator.apache.org/blog/2013/third-post.html - 2013-09-26 - - https://tamaya.incubator.apache.org/blog/2016/third-post.html - 2013-09-26 - - https://tamaya.incubator.apache.org/blog/2013/second-post.html - 2013-08-25 - - https://tamaya.incubator.apache.org/blog/2016/second-post.html - 2013-08-25 - - https://tamaya.incubator.apache.org/blog/2013/first-post.html - 2013-07-24 - - https://tamaya.incubator.apache.org/blog/2016/first-post.html - 2013-07-24 - - http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/97bc8884/source.html ---------------------------------------------------------------------- diff --git a/source.html b/source.html deleted file mode 100644 index c14e402..0000000 --- a/source.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - Apache Tamaya: Sources - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - - -
-
- - - -

2016-10-31

- -

-

1. Source Code Repositories

-
-
-

The current source code can be found at:

-
- -
-

Alternatively there is also a GitHub read-only mirror at -https://github.com/apache/incubator-tamaya.

-
-
-

The GitHub mirror also provides the project as downloadable zip archive.

-
-
-
-
-

2. Contributions

-
-
-

If you like to contribute to Apache Tamaya please also refer also to our -section on contributing to Apache Tamaya.

-
-
-

- -
-
-
-
-
- - - - - - - - - -
- - http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/97bc8884/start.html ---------------------------------------------------------------------- diff --git a/start.html b/start.html deleted file mode 100644 index 6caa4c3..0000000 --- a/start.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - About Apache Tamaya - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - - -
-
- - - -

2016-11-02

- -

About Apache Tamaya

-

Apache Tamaya (incubating) provides a flexible and powerful
configuration solution
for Java developers using Java SE as well as for more complex
usage scenarios like cloud or Java EE. It provides a modern
type-safe property based Configuration API combined with a
powerful environment model and a flexible SPI.

-

Features

-
    -
  • Unified Configuration API
  • -
  • Pluggable Configuration Backends
  • -
  • Enforceable Configuration Policies
  • -
  • Configuration Validation and Documentation
  • -
  • Seemless Enterprise Integration
  • -
-

Documentation

- -
-

Quickstart

-

Using Apache Tamaya is simple:

-
    -
  1. Add {tamaya_mvn_group_id}:tamaya-core:{tamaya_version} to your dependencies.
  2. -
  3. Add your config to META-INF/javaconfiguration.properties
  4. -
  5. Access your configuration by ConfigurationProvider.getConfiguration() and use it.
  6. -
  7. Look at the extension modules to customize your setup!
  8. -
  9. Enjoy!
  10. -
-

Rationale

-

Configuration is one of the most prominent cross-cutting concerns similar to logging. Most of us already have been
writing similar code again and again in each of our projects. Sometimes in a similar way but mostly always slightly
different, but certainly with high coupling to your configuration backends. Given your code is reused or integrated
some how, or deployed by some customers, struggling starts: not supported backends, different policies, missing
combination and validation mechanisms and so on. Tamaya solves all this by defining a common API and backend SPI.
Your code is decoupled from the configuration backend. There is no difference if your code is deployed on your dev box
or in a clustered Docker environment in production, it stays the same!

- -
-
-
-
-
- - - - - - - - - -
- -