7 Replies Latest reply on Jan 26, 2011 12:04 PM by o.bergner

    [jboss-modules] Volunteering to work on MODULES-3

    o.bergner

      I recently discovered jboss-modules and instantly liked it. Having been looking around for some open source project to contribute to I searched jboss-modules' JIRA instance and chose https://issues.jboss.org/browse/MODULES-3: Support loading modules from a single jar. The preliminary results can be viewed at https://github.com/obergner/jboss-modules/tree/ob-modules-3, i.e. I developed my solution in a topic branch called ob-modules-3.

       

      Current status:

       

      1. I implemented JarRepositoryResourceLoader, a ResourceLoader implementation for loading resources from - you guessed it - a repository that has been compressed into a jar. Taking the existing JarResourceLoaderTest as a blueprint I implemented JarRepositoryResourceLoaderTest. This test passes.

       

      2. I implemented JarRepositoryModuleLoader, a ModuleLoader for loading modules from a repository that has been compressed into a jar. Again, I took the LocalModuleLoaderTest as a blueprint and implemented JarRepositoryModuleLoaderTest. This test passes.

       

      3. To avoid code duplication I extracted an abstract base class out of JarFileResourceLoader. Now, JarFileResourceLoader and JarRepositoryResourceLoader derive from this common base class.

       

      4. To avoid confusion between JarFileResourceLoader and JarRepositoryResourceLoader I renamed JarResourceLoaderTest to JarFileResourceLoaderTest.

       

      5. In order to be able to reuse ModuleXmlParser I modified it so that most of its methods now take an URL instead of a File in their parameter list.

       

      6. The JIRA task mentions maven plugins, ant and gradle tasks for converting a file based repository into a jar repository. I haven't started working on those yet.

       

      So if someone from the core developers could have a look at what little I have so far and give me some feedback I would be more than happy to continue working on jboss-modules.

       

      Regards,

      Olaf

        • 1. [jboss-modules] Volunteering to work on MODULES-3
          dmlloyd

          This is a great start.  It is a different approach from how I envisioned though: I imagined that one would start a single JAR which had jboss modules rolled into it alongside a special main class which used the application classloader to find the nested content.  That way users could just launch the giant JAR like a regular application.

           

          This patch however is quite hard to read: you've changed the indentation from four to two spaces.  That would have to be fixed before I can really review this any further.

           

          Thanks for the contribution!

          • 2. [jboss-modules] Volunteering to work on MODULES-3
            o.bergner

            Thanks for the nice feedback. I am aware of the formatting problems, probably due to my using eclipse and a deeply ingrained habit of formatting each and every bit of code. I will first work on resolving those issues, maybe by adopting the eclipse settings someone recently checked in for JBoss AS 7? I don't know if those are acceptable for JBoss Modules too.

             

            Once that's out of the way I will have a look into how to implement what you proposed. It makes a lot of sense but I'm currently not sure if the approach I've taken will support such a scenario. Pointers are welcome.

             

            Cheers,

            Olaf

            • 3. [jboss-modules] Volunteering to work on MODULES-3
              kabirkhan

              My AS7 settings are below, import those into Eclipse preferences Java/Code Style/Formatter:

               

               

               

               

              <?xml version="1.0" encoding="UTF-8" standalone="no"?>

              <profiles version="11">

              <profile kind="CodeFormatterProfile" name="AS7" version="11">

              <setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.disabling_tag" value="@formatter:off"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration" value="end_of_line"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries" value="true"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_field" value="0"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.use_on_off_tags" value="false"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value="false"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases" value="true"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.alignment_for_multiple_fields" value="16"/>

              <setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer" value="16"/>

              <setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression" value="80"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_binary_operator" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.brace_position_for_array_initializer" value="end_of_line"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.blank_lines_after_package" value="1"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.continuation_indentation" value="2"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation" value="16"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk" value="1"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_binary_operator" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_package" value="0"/>

              <setting id="org.eclipse.jdt.core.compiler.source" value="1.5"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.comment.format_line_comments" value="true"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.join_wrapped_lines" value="true"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call" value="16"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_member_type" value="1"/>

              <setting id="org.eclipse.jdt.core.formatter.align_type_members_on_columns" value="false"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation" value="16"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_unary_operator" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.comment.indent_parameter_description" value="true"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment" value="false"/>

              <setting id="org.eclipse.jdt.core.formatter.lineSplit" value="150"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration" value="0"/>

              <setting id="org.eclipse.jdt.core.formatter.indentation.size" value="4"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.enabling_tag" value="@formatter:on"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration" value="16"/>

              <setting id="org.eclipse.jdt.core.formatter.alignment_for_assignment" value="0"/>

              <setting id="org.eclipse.jdt.core.compiler.problem.assertIdentifier" value="error"/>

              <setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="space"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_body" value="true"/>

              <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_method" value="1"/>

              <setting id="org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested" value="true"/>

              <setting id="org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line" value="false"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration" value="16"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration" value="end_of_line"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.alignment_for_method_declaration" value="0"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.brace_position_for_switch" value="end_of_line"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.compiler.problem.enumIdentifier" value="error"/>

              <setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch" value="false"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_ellipsis" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.brace_position_for_block" value="end_of_line"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.brace_position_for_method_declaration" value="end_of_line"/>

              <setting id="org.eclipse.jdt.core.formatter.compact_else_if" value="true"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column" value="true"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_constant" value="end_of_line"/>

              <setting id="org.eclipse.jdt.core.formatter.comment.indent_root_tags" value="true"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="4"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment" value="false"/>

              <setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration" value="16"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.indent_empty_lines" value="false"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.brace_position_for_block_in_case" value="end_of_line"/>

              <setting id="org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve" value="1"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression" value="16"/>

              <setting id="org.eclipse.jdt.core.compiler.compliance" value="1.5"/>

              <setting id="org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer" value="2"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression" value="16"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_unary_operator" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line" value="false"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line" value="false"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration" value="16"/>

              <setting id="org.eclipse.jdt.core.formatter.alignment_for_binary_expression" value="16"/>

              <setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration" value="end_of_line"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode" value="enabled"/>

              <setting id="org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line" value="true"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_label" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant" value="16"/>

              <setting id="org.eclipse.jdt.core.formatter.comment.format_javadoc_comments" value="true"/>

              <setting id="org.eclipse.jdt.core.formatter.comment.line_length" value="80"/>

              <setting id="org.eclipse.jdt.core.formatter.blank_lines_between_import_groups" value="1"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration" value="end_of_line"/>

              <setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body" value="0"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header" value="true"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.wrap_before_binary_operator" value="true"/>

              <setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header" value="true"/>

              <setting id="org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations" value="1"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_block" value="true"/>

              <setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="16"/>

              <setting id="org.eclipse.jdt.core.formatter.join_lines_in_comments" value="true"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_if" value="16"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases" value="true"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_imports" value="1"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.comment.format_html" value="true"/>

              <setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration" value="16"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.comment.format_source_code" value="true"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration" value="16"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer" value="insert"/>

              <setting id="org.eclipse.jdt.core.compiler.codegen.targetPlatform" value="1.5"/>

              <setting id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" value="true"/>

              <setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation" value="0"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.comment.format_header" value="false"/>

              <setting id="org.eclipse.jdt.core.formatter.comment.format_block_comments" value="true"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.alignment_for_enum_constants" value="0"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header" value="true"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.brace_position_for_type_declaration" value="end_of_line"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries" value="true"/>

              <setting id="org.eclipse.jdt.core.formatter.blank_lines_after_imports" value="1"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header" value="true"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for" value="insert"/>

              <setting id="org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column" value="false"/>

              <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments" value="do not insert"/>

              <setting id="org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column" value="false"/>

              <setting id="org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line" value="false"/>

              </profile>

              </profiles>


               

               

               

              • 4. [jboss-modules] Volunteering to work on MODULES-3
                o.bergner

                Well, I think I have made some progress reconciling the formatting differences between my own jboss-modules fork and master. Completely eliminating them, however, would probably entail considerable manual corrections. So if someone could have another look at my patch and tell me either what else I need to do to make it fit for being reviewed or hint at some possible improvements ... 

                • 5. [jboss-modules] Volunteering to work on MODULES-3
                  o.bergner

                  It took some time to get the hang of jboss modules but now I've got a working implementation at https://github.com/obergner/jboss-modules/tree/ob-modules-3-reloaded. It's obviously still a little rough around the edges, and yet it does its job. I have documented what I did in the JIRA task https://issues.jboss.org/browse/MODULES-3. Barring requests for major changes to my implementation I would next turn to implementing a maven plugin for creating a jar-based module repository. Are there any requirements that could guide my implementation?

                  • 6. [jboss-modules] Volunteering to work on MODULES-3
                    kabirkhan

                    It's not quite the same thing you're talking about but I have something to create modules for running unit tests. It lives at https://github.com/kabir/jboss-modules-surefire-plugin. It is sort of documented at http://community.jboss.org/wiki/JBossModulesSurefirePlugin.

                     

                    Getting this working with arquillian so that no bootstrap classes are needed on the runtime classpath is work in progress.

                    • 7. [jboss-modules] Volunteering to work on MODULES-3
                      o.bergner

                      Thanks, Kabir, I will have a look at it. Currently, I have this vague idea that this maven plugin to be written should be a specialized version of the maven-assembly-plugin, restricted to handling modules (as in jboss modules, not maven modules) only. On the other hand, MODULES-3 seems to suggest a solution where this maven plugin should simply take an existing directory-based module repository and turn it into a jar-based repository. This, however, strikes me as not very maven-like.

                       

                      IMHO, the optimal solution would actually comprise two maven plugins:

                       

                      1. A maven plugin that provides a new packaging type, e.g. "module", for composing a module. Since directories cannot be published to a maven repository the module thus created needs to be compressed, e.g. zipped.

                       

                      2. A maven plugin that takes a set of dependencies that are modules and creates a module repository from it, either directory-based or jar-based.

                       

                      Does this look like a viable solution?

                       

                      On the other hand, I'm not sure if there is indeed a need for such a maven plugin, or such maven plugins. As a matter of fact, I used the maven-assembly-plugin for creating a jar-based repository, and encountered no major obstacles. Implementing the plugins suggested above should be doable and fun yet is there really a need for them?