You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@helix.apache.org by Greg Brandt <br...@gmail.com> on 2015/08/22 20:57:33 UTC

Helix maven archetype

Hey,

I put together a Helix archetype that new users can use to get started (or
old users who don't want to remember everything when starting a new
application...)

It's available here: https://github.com/brandtg/helix-archetype

You can generate like this:

mvn archetype:generate \
  -DarchetypeGroupId=org.apache.helix \
  -DarchetypeArtifactId=helix-archetype \
  -DarchetypeVersion=1.0-SNAPSHOT \
  -DgroupId=com.example \
  -DartifactId=my-app \
  -Dname=MyApp \
  -DinteractiveMode=false

Then you'll get a project structure like this:

>> tree
.
├── pom.xml
└── src
    └── main
        ├── java
        │   ├── MyAppMain.java
        │   ├── participant
        │   │   ├── MyAppParticipant.java
        │   │   ├── MyAppStateTransitionHandler.java
        │   │   └── MyAppStateTransitionHandlerFactory.java
        │   └── spectator
        │       └── MyAppSpectator.java
        └── resources
            └── log4j.xml

And an executable that contains all your cluster roles, and wraps
ClusterSetup:

>> java -jar target/my-app-1.0-SNAPSHOT.jar
usage: <mode> args...

Modes are: participant, controller, zookeeper, setup.

Let me know what you all think. If this is good, we could put it in trunk.

Thanks,
-Greg

Re: Helix maven archetype

Posted by Greg Brandt <br...@gmail.com>.
Sure, I can do that.

-Greg

On Sat, Aug 22, 2015 at 1:06 PM, kishore g <g....@gmail.com> wrote:

> Wow this is awesome. Mind adding a wiki and a pointer to quick start.md
> On Aug 22, 2015 12:40 PM, "Vinoth Chandar" <vi...@uber.com> wrote:
>
> > +1 pretty nice
> >
> > Thanks,
> > Vinoth
> >
> >
> >
> >
> > On Sat, Aug 22, 2015 at 11:58 AM -0700, "Greg Brandt" <
> > brandt.greg@gmail.com> wrote:
> >
> > Hey,
> >>
> >> I put together a Helix archetype that new users can use to get started
> >> (or old users who don't want to remember everything when starting a new
> >> application...)
> >>
> >> It's available here: https://github.com/brandtg/helix-archetype
> >>
> >> You can generate like this:
> >>
> >> mvn archetype:generate \
> >>   -DarchetypeGroupId=org.apache.helix \
> >>   -DarchetypeArtifactId=helix-archetype \
> >>   -DarchetypeVersion=1.0-SNAPSHOT \
> >>   -DgroupId=com.example \
> >>   -DartifactId=my-app \
> >>   -Dname=MyApp \
> >>   -DinteractiveMode=false
> >>
> >> Then you'll get a project structure like this:
> >>
> >> >> tree
> >> .
> >> ├── pom.xml
> >> └── src
> >>     └── main
> >>         ├── java
> >>         │   ├── MyAppMain.java
> >>         │   ├── participant
> >>         │   │   ├── MyAppParticipant.java
> >>         │   │   ├── MyAppStateTransitionHandler.java
> >>         │   │   └── MyAppStateTransitionHandlerFactory.java
> >>         │   └── spectator
> >>         │       └── MyAppSpectator.java
> >>         └── resources
> >>             └── log4j.xml
> >>
> >> And an executable that contains all your cluster roles, and wraps
> >> ClusterSetup:
> >>
> >> >> java -jar target/my-app-1.0-SNAPSHOT.jar
> >> usage: <mode> args...
> >>
> >> Modes are: participant, controller, zookeeper, setup.
> >>
> >> Let me know what you all think. If this is good, we could put it in
> trunk.
> >>
> >> Thanks,
> >> -Greg
> >>
> >
>

Re: Helix maven archetype

Posted by Greg Brandt <br...@gmail.com>.
Sure, I can do that.

-Greg

On Sat, Aug 22, 2015 at 1:06 PM, kishore g <g....@gmail.com> wrote:

> Wow this is awesome. Mind adding a wiki and a pointer to quick start.md
> On Aug 22, 2015 12:40 PM, "Vinoth Chandar" <vi...@uber.com> wrote:
>
> > +1 pretty nice
> >
> > Thanks,
> > Vinoth
> >
> >
> >
> >
> > On Sat, Aug 22, 2015 at 11:58 AM -0700, "Greg Brandt" <
> > brandt.greg@gmail.com> wrote:
> >
> > Hey,
> >>
> >> I put together a Helix archetype that new users can use to get started
> >> (or old users who don't want to remember everything when starting a new
> >> application...)
> >>
> >> It's available here: https://github.com/brandtg/helix-archetype
> >>
> >> You can generate like this:
> >>
> >> mvn archetype:generate \
> >>   -DarchetypeGroupId=org.apache.helix \
> >>   -DarchetypeArtifactId=helix-archetype \
> >>   -DarchetypeVersion=1.0-SNAPSHOT \
> >>   -DgroupId=com.example \
> >>   -DartifactId=my-app \
> >>   -Dname=MyApp \
> >>   -DinteractiveMode=false
> >>
> >> Then you'll get a project structure like this:
> >>
> >> >> tree
> >> .
> >> ├── pom.xml
> >> └── src
> >>     └── main
> >>         ├── java
> >>         │   ├── MyAppMain.java
> >>         │   ├── participant
> >>         │   │   ├── MyAppParticipant.java
> >>         │   │   ├── MyAppStateTransitionHandler.java
> >>         │   │   └── MyAppStateTransitionHandlerFactory.java
> >>         │   └── spectator
> >>         │       └── MyAppSpectator.java
> >>         └── resources
> >>             └── log4j.xml
> >>
> >> And an executable that contains all your cluster roles, and wraps
> >> ClusterSetup:
> >>
> >> >> java -jar target/my-app-1.0-SNAPSHOT.jar
> >> usage: <mode> args...
> >>
> >> Modes are: participant, controller, zookeeper, setup.
> >>
> >> Let me know what you all think. If this is good, we could put it in
> trunk.
> >>
> >> Thanks,
> >> -Greg
> >>
> >
>

Re: Helix maven archetype

Posted by kishore g <g....@gmail.com>.
Wow this is awesome. Mind adding a wiki and a pointer to quick start.md
On Aug 22, 2015 12:40 PM, "Vinoth Chandar" <vi...@uber.com> wrote:

> +1 pretty nice
>
> Thanks,
> Vinoth
>
>
>
>
> On Sat, Aug 22, 2015 at 11:58 AM -0700, "Greg Brandt" <
> brandt.greg@gmail.com> wrote:
>
> Hey,
>>
>> I put together a Helix archetype that new users can use to get started
>> (or old users who don't want to remember everything when starting a new
>> application...)
>>
>> It's available here: https://github.com/brandtg/helix-archetype
>>
>> You can generate like this:
>>
>> mvn archetype:generate \
>>   -DarchetypeGroupId=org.apache.helix \
>>   -DarchetypeArtifactId=helix-archetype \
>>   -DarchetypeVersion=1.0-SNAPSHOT \
>>   -DgroupId=com.example \
>>   -DartifactId=my-app \
>>   -Dname=MyApp \
>>   -DinteractiveMode=false
>>
>> Then you'll get a project structure like this:
>>
>> >> tree
>> .
>> ├── pom.xml
>> └── src
>>     └── main
>>         ├── java
>>         │   ├── MyAppMain.java
>>         │   ├── participant
>>         │   │   ├── MyAppParticipant.java
>>         │   │   ├── MyAppStateTransitionHandler.java
>>         │   │   └── MyAppStateTransitionHandlerFactory.java
>>         │   └── spectator
>>         │       └── MyAppSpectator.java
>>         └── resources
>>             └── log4j.xml
>>
>> And an executable that contains all your cluster roles, and wraps
>> ClusterSetup:
>>
>> >> java -jar target/my-app-1.0-SNAPSHOT.jar
>> usage: <mode> args...
>>
>> Modes are: participant, controller, zookeeper, setup.
>>
>> Let me know what you all think. If this is good, we could put it in trunk.
>>
>> Thanks,
>> -Greg
>>
>

Re: Helix maven archetype

Posted by kishore g <g....@gmail.com>.
Wow this is awesome. Mind adding a wiki and a pointer to quick start.md
On Aug 22, 2015 12:40 PM, "Vinoth Chandar" <vi...@uber.com> wrote:

> +1 pretty nice
>
> Thanks,
> Vinoth
>
>
>
>
> On Sat, Aug 22, 2015 at 11:58 AM -0700, "Greg Brandt" <
> brandt.greg@gmail.com> wrote:
>
> Hey,
>>
>> I put together a Helix archetype that new users can use to get started
>> (or old users who don't want to remember everything when starting a new
>> application...)
>>
>> It's available here: https://github.com/brandtg/helix-archetype
>>
>> You can generate like this:
>>
>> mvn archetype:generate \
>>   -DarchetypeGroupId=org.apache.helix \
>>   -DarchetypeArtifactId=helix-archetype \
>>   -DarchetypeVersion=1.0-SNAPSHOT \
>>   -DgroupId=com.example \
>>   -DartifactId=my-app \
>>   -Dname=MyApp \
>>   -DinteractiveMode=false
>>
>> Then you'll get a project structure like this:
>>
>> >> tree
>> .
>> ├── pom.xml
>> └── src
>>     └── main
>>         ├── java
>>         │   ├── MyAppMain.java
>>         │   ├── participant
>>         │   │   ├── MyAppParticipant.java
>>         │   │   ├── MyAppStateTransitionHandler.java
>>         │   │   └── MyAppStateTransitionHandlerFactory.java
>>         │   └── spectator
>>         │       └── MyAppSpectator.java
>>         └── resources
>>             └── log4j.xml
>>
>> And an executable that contains all your cluster roles, and wraps
>> ClusterSetup:
>>
>> >> java -jar target/my-app-1.0-SNAPSHOT.jar
>> usage: <mode> args...
>>
>> Modes are: participant, controller, zookeeper, setup.
>>
>> Let me know what you all think. If this is good, we could put it in trunk.
>>
>> Thanks,
>> -Greg
>>
>

Re: Helix maven archetype

Posted by Vinoth Chandar <vi...@uber.com>.
+1 pretty nice 

Thanks,
Vinoth




On Sat, Aug 22, 2015 at 11:58 AM -0700, "Greg Brandt" <br...@gmail.com> wrote:










Hey,
I put together a Helix archetype that new users can use to get started (or old users who don't want to remember everything when starting a new application...)
It's available here: https://github.com/brandtg/helix-archetype
You can generate like this:
mvn archetype:generate \  -DarchetypeGroupId=org.apache.helix \  -DarchetypeArtifactId=helix-archetype \  -DarchetypeVersion=1.0-SNAPSHOT \  -DgroupId=com.example \  -DartifactId=my-app \  -Dname=MyApp \  -DinteractiveMode=false
Then you'll get a project structure like this:
>> tree.├── pom.xml└── src    └── main        ├── java        │   ├── MyAppMain.java        │   ├── participant        │   │   ├── MyAppParticipant.java        │   │   ├── MyAppStateTransitionHandler.java        │   │   └── MyAppStateTransitionHandlerFactory.java        │   └── spectator        │       └── MyAppSpectator.java        └── resources            └── log4j.xml
And an executable that contains all your cluster roles, and wraps ClusterSetup:
>> java -jar target/my-app-1.0-SNAPSHOT.jar usage: <mode> args...
Modes are: participant, controller, zookeeper, setup.
Let me know what you all think. If this is good, we could put it in trunk.
Thanks,-Greg

Re: Helix maven archetype

Posted by Vinoth Chandar <vi...@uber.com>.
+1 pretty nice 

Thanks,
Vinoth




On Sat, Aug 22, 2015 at 11:58 AM -0700, "Greg Brandt" <br...@gmail.com> wrote:










Hey,
I put together a Helix archetype that new users can use to get started (or old users who don't want to remember everything when starting a new application...)
It's available here: https://github.com/brandtg/helix-archetype
You can generate like this:
mvn archetype:generate \  -DarchetypeGroupId=org.apache.helix \  -DarchetypeArtifactId=helix-archetype \  -DarchetypeVersion=1.0-SNAPSHOT \  -DgroupId=com.example \  -DartifactId=my-app \  -Dname=MyApp \  -DinteractiveMode=false
Then you'll get a project structure like this:
>> tree.├── pom.xml└── src    └── main        ├── java        │   ├── MyAppMain.java        │   ├── participant        │   │   ├── MyAppParticipant.java        │   │   ├── MyAppStateTransitionHandler.java        │   │   └── MyAppStateTransitionHandlerFactory.java        │   └── spectator        │       └── MyAppSpectator.java        └── resources            └── log4j.xml
And an executable that contains all your cluster roles, and wraps ClusterSetup:
>> java -jar target/my-app-1.0-SNAPSHOT.jar usage: <mode> args...
Modes are: participant, controller, zookeeper, setup.
Let me know what you all think. If this is good, we could put it in trunk.
Thanks,-Greg