New Features

77 views
Skip to first unread message

Alex Soto

unread,
Mar 7, 2014, 4:17:44 AM3/7/14
to wal...@googlegroups.com
I have been playing a bit with walkmod and I have some suggestions/features that I think they will make it better. Maybe some are already planned or already implemented. I put all of them on bullets and we can discuss:

  • Add Maven/Gradle integration. It is good to have as standalone application but also would be interesting to pass rules/templates/... within our integration tool.
  • Allow other format for configuration files. XML is good but too verbose, allowing json or yaml could help to simplify the configuration files in terms of size and of course to be written faster.
  • Linked with previous bullet, allow configuration with Annotations.
  • Allow some kind of convention over configuration, so for example if you find in classpath some kind of classes then rules configured in annotations/files are applied automatically. This will let open the door of autogenerating code from IDE with AnnotationProcessor for templates or merge operations. For example XBean is a good framework to implement these cases.
  • Avoid Spring dependency. IMO it is a too heavy library to depend on when almost 80% of features are not used.
  • I think this is already planned but instead of generating SNAPSHOT versions, generate versions with built number. So you can decide when to release a version without any change. This means moving project to Jenkins, Travis, ..
  • JBoss Forge Plugin so you can create and apply all walkmod elements inside Forge.
  • Use AsciiDoc and Asciidoctor to write documentation :D Well this is because I belong to Asciidoctor team :P.

That's all for now, really good job.


Message has been deleted

walkmod

unread,
Mar 7, 2014, 6:25:43 AM3/7/14
to wal...@googlegroups.com
Hi Alex,

Thank you for your suggestions ! :-) .We are proud to receive your comments. We will give you feedback as soon as possible for all these features.

walkmod

unread,
Mar 9, 2014, 2:59:56 PM3/9/14
to wal...@googlegroups.com
Hi Alex,

We have been analyzing your suggestions/comments. They are really interesting! So, thank you again for your feedback! 

These are our comments/answers to your suggestions:

Add Maven/Gradle integrationWe have opened a ticket for the first one https://bitbucket.org/rpau/walkmod/issue/11/jug-suggestion-add-maven-gradle :-).

Now, walkmod can be executed from Maven using the Maven Exec Plugin (http://mojo.codehaus.org/exec-maven-plugin/), but a Maven plugin with an embedded walkmod is better because the user is able to run walkmod without any previous installation. 

We already would like to have an IDE plugins to avoid using the console and improve the user experience.

2, 3, 4 Configuration. We have opened a ticket for the next 3 issues. We decided to start from an XML configuration because using DTDs, editors help users to fulfill the configuration parameters. However, to support future user preferences (e.g JSON configuration), our architecture allows to have multiple configuration readers to populate the "configuration object" before running any transformation. So, it is easy to do :-). 

We agree with you in using annotations inside a project might simplify the walkmod configuration for some Java developers (specially include and exclude rules). Indeed, it is a good practice in Java frameworks (such as Hibernate, Struts2, Spring..).  However, these frameworks already need to appear as a library (dependency) in the project classpath in runtime, but walkmod doesn't and IMO, it messes the code
Anyway, you are right and it may be an interesting feature for several users.

5 Spring. We decided to use Spring instead of Guice (for example) to allow initialize complex components from XML files and to assure the minimum coupling with the DI engine. A given class may be used under different bean definitions because due to having different default initialization parameters. Moreover, Spring allows to parametrize complex object initializations such as a map, an array or a complex structure for a given component.

For example, if a user would like to share a template or an Script through a plugin, it should declare a new bean with the same class to process templates or scripts but parametrizing a fixed template file. 

6 SNAPSHOT. Yes, of course. Now it is 1.0 SNAPSHOT because we would like to start publicly with an stable 1.0, but it will change once we have the hole project modularized in GitHub.

7 Forge. We didn't know JBoss Forge project and it is a very cool! a walkmod plugin for Forge seems easy to do. We have opened a ticket: https://bitbucket.org/rpau/walkmod/issue/15/jug-suggestion-jboss-forge-plugin

8 AsciiDoc. Well, we would like a lot writing just once the documentation and upload it the several formats. However, web pages have the Twitter bootstrap style. Could we generate the same output style using AsciiDoc?

Alex Soto

unread,
Mar 12, 2014, 5:55:36 AM3/12/14
to wal...@googlegroups.com
Hello,

I add some comments:

1 Totally agree something embed is much better than having to install it externally.
5 My comment was not in direction of why Spring and not Guice but why a framework. For example Arquillian is extensible in every kind of features it offers (containers, test enrichments, local/remote test, dependencies, ...) and it doesn't require any framework to register them nor executing. Arquillian is a framework which I know because I collaborate a bit so I know its internals, if you want we can discuss any time.
7 Yes Forge is a great tool, and community are very active. If you have any question don't hesitate to ask them they answer them so quickly.
8 Yes with Asciidoctor you can write your own html style by using backends or stylesheets, but of course apart of html, you can output to dockbook or pdf. You can see a preview of default themes here: http://themes.asciidoctor.org/preview/ (combo at bottom.right), you can develop your own too http://asciidoctor.org/docs/produce-custom-themes-using-asciidoctor-stylesheet-factory/ and even exists one backend for Twitter Bootstrap https://github.com/nerk/asciidoctor-bs-themes which can be modified too.

El diumenge 9 de març de 2014 19:59:56 UTC+1, walkmod va escriure:

walkmod

unread,
Mar 12, 2014, 4:22:18 PM3/12/14
to wal...@googlegroups.com
Hi,

5 Spring Alex I have read something about Arquilian, so I understand the tool purpose but I don't know the architecture details.  We chose Spring because we assumed it is used in many Java projects and its powerful configuration has simplified how to resolve components provided by plugins (external jars with its own application-context.xml, the plugin descriptor). According your explanation, I guess Arquilian has its own dependency injection engine, but why it could be better in walkmod?

8 Asciidoc Ok, we will try it to produce a pdf version from the HTML documentation. We have created a ticket https://bitbucket.org/rpau/walkmod/issue/16/create-a-pdf-version-of-the-documentation
Reply all
Reply to author
Forward
0 new messages