Boost logo

Boost-Commit :

From: frank.birbacher_at_[hidden]
Date: 2008-05-02 15:00:16


Author: birbacher
Date: 2008-05-02 15:00:15 EDT (Fri, 02 May 2008)
New Revision: 45034
URL: http://svn.boost.org/trac/boost/changeset/45034

Log:
Initial import of JamfileTargets plug-in for Eclipse.
Added:
   sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/.classpath (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/.project (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/.settings/ (props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/.settings/org.eclipse.jdt.core.prefs (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/.settings/org.eclipse.jdt.ui.prefs (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/META-INF/
   sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/META-INF/MANIFEST.MF (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/build.properties (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/icons/
   sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/icons/favicon.png (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/plugin.xml (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/src/
   sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/src/org/
   sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/src/org/boost/
   sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/src/org/boost/eclipse/
   sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/src/org/boost/eclipse/bjam/
   sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/src/org/boost/eclipse/bjam/system/
   sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/src/org/boost/eclipse/bjam/system/JamTarget.java (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/src/org/boost/eclipse/bjam/system/JamTargetInfo.java (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/src/org/boost/eclipse/bjam/system/JamfileScanner.java (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/src/org/boost/eclipse/bjam/views/
   sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/src/org/boost/eclipse/bjam/views/JamfileTargetsView.java (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/src/org/boost/eclipse/bjam/views/MakeTargetAction.java (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/src/org/boost/eclipse/bjam/views/NameSorter.java (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/src/org/boost/eclipse/bjam/views/ViewContentProvider.java (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/src/org/boost/eclipse/bjam/views/ViewLabelProvider.java (contents, props changed)
Properties modified:
   sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/ (props changed)

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/.classpath
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/.classpath 2008-05-02 15:00:15 EDT (Fri, 02 May 2008)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/.project
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/.project 2008-05-02 15:00:15 EDT (Fri, 02 May 2008)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>JamfileTargets</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/.settings/org.eclipse.jdt.core.prefs
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/.settings/org.eclipse.jdt.core.prefs 2008-05-02 15:00:15 EDT (Fri, 02 May 2008)
@@ -0,0 +1,256 @@
+#Fri May 02 19:25:20 CEST 2008
+eclipse.preferences.version=1
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=80
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=8
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=80
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=space
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/.settings/org.eclipse.jdt.ui.prefs
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/.settings/org.eclipse.jdt.ui.prefs 2008-05-02 15:00:15 EDT (Fri, 02 May 2008)
@@ -0,0 +1,4 @@
+#Fri May 02 19:25:20 CEST 2008
+eclipse.preferences.version=1
+formatter_profile=_Java Conventions for Boost with Space indent
+formatter_settings_version=11

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/META-INF/MANIFEST.MF
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/META-INF/MANIFEST.MF 2008-05-02 15:00:15 EDT (Fri, 02 May 2008)
@@ -0,0 +1,13 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: JamfileTargets Plug-in
+Bundle-SymbolicName: JamfileTargets; singleton:=true
+Bundle-Version: 1.0.0
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.ui,
+ org.eclipse.core.resources,
+ org.eclipse.cdt.make.core,
+ org.eclipse.cdt.make.ui
+Export-Package: org.boost.eclipse.bjam.system,
+ org.boost.eclipse.bjam.views
+Bundle-Vendor: Boost.org

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/build.properties
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/build.properties 2008-05-02 15:00:15 EDT (Fri, 02 May 2008)
@@ -0,0 +1,6 @@
+source.. = src/
+output.. = bin/
+bin.includes = plugin.xml,\
+ META-INF/,\
+ .,\
+ icons/

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/icons/favicon.png
==============================================================================
Binary file. No diff available.

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/plugin.xml
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/plugin.xml 2008-05-02 15:00:15 EDT (Fri, 02 May 2008)
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<!--
+Copyright Frank Birbacher 2008
+
+Use, modification and distribution are subject to the Boost Software License,
+Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt).
+-->
+<plugin>
+
+ <extension
+ point="org.eclipse.ui.views">
+ <category
+ name="BJam"
+ id="BJam">
+ </category>
+ <view
+ name="Jamfile Targets View"
+ icon="icons/favicon.png"
+ category="BJam"
+ class="org.boost.eclipse.bjam.views.JamfileTargetsView"
+ id="org.boost.eclipse.bjam.views.JamfileTargetsView">
+ </view>
+ </extension>
+ <extension
+ point="org.eclipse.ui.perspectiveExtensions">
+ <perspectiveExtension
+ targetID="org.eclipse.ui.resourcePerspective">
+ <view
+ ratio="0.5"
+ relative="org.eclipse.ui.views.TaskList"
+ relationship="right"
+ id="org.boost.eclipse.bjam.views.JamfileTargetsView">
+ </view>
+ </perspectiveExtension>
+ </extension>
+
+</plugin>

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/src/org/boost/eclipse/bjam/system/JamTarget.java
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/src/org/boost/eclipse/bjam/system/JamTarget.java 2008-05-02 15:00:15 EDT (Fri, 02 May 2008)
@@ -0,0 +1,38 @@
+/* Copyright Frank Birbacher 2008
+ *
+ * Use, modification and distribution are subject to the Boost Software License,
+ * Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENSE_1_0.txt).
+ */
+package org.boost.eclipse.bjam.system;
+
+import org.eclipse.core.resources.IContainer;
+
+public class JamTarget {
+ private final JamTargetInfo targetInfo;
+ /**
+ * Resource where bjam will be invoked.
+ */
+ private IContainer container;
+
+ public JamTarget(IContainer container, String name, String targetName) {
+ this.targetInfo = new JamTargetInfo(name, targetName);
+ this.container = container;
+ }
+
+ public String toString() {
+ return getName();
+ }
+
+ public IContainer getFolder() {
+ return container;
+ }
+
+ public String getName() {
+ return targetInfo.getName();
+ }
+
+ public String getTargetName() {
+ return targetInfo.getTargetName();
+ }
+}

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/src/org/boost/eclipse/bjam/system/JamTargetInfo.java
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/src/org/boost/eclipse/bjam/system/JamTargetInfo.java 2008-05-02 15:00:15 EDT (Fri, 02 May 2008)
@@ -0,0 +1,35 @@
+/* Copyright Frank Birbacher 2008
+ *
+ * Use, modification and distribution are subject to the Boost Software License,
+ * Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENSE_1_0.txt).
+ */
+package org.boost.eclipse.bjam.system;
+
+public class JamTargetInfo {
+ /**
+ * Name of this target which is shown in the UI.
+ */
+ private String name;
+ /**
+ * The commandline string which will be appended to the bjam invocation.
+ */
+ private String targetName;
+
+ public JamTargetInfo(String name, String targetName) {
+ this.name = name;
+ this.targetName = targetName;
+ }
+
+ public String toString() {
+ return name;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getTargetName() {
+ return targetName;
+ }
+}

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/src/org/boost/eclipse/bjam/system/JamfileScanner.java
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/src/org/boost/eclipse/bjam/system/JamfileScanner.java 2008-05-02 15:00:15 EDT (Fri, 02 May 2008)
@@ -0,0 +1,61 @@
+/* Copyright Frank Birbacher 2008
+ *
+ * Use, modification and distribution are subject to the Boost Software License,
+ * Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENSE_1_0.txt).
+ */
+package org.boost.eclipse.bjam.system;
+
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.util.ArrayList;
+
+import org.eclipse.core.resources.IFile;
+
+public class JamfileScanner {
+ static public JamTargetInfo[] getTargets(final IFile file) {
+ abort: try {
+ if (!file.exists())
+ break abort;
+ final Reader reader = new InputStreamReader(file.getContents());
+ return getTargets(new BufferedReader(reader));
+ } catch (Exception t) {
+ throw new RuntimeException(t);
+ }
+ return new JamTargetInfo[0];
+ }
+
+ static public JamTargetInfo[] getTargets(final BufferedReader reader) {
+ final ArrayList<JamTargetInfo> targets = new ArrayList<JamTargetInfo>();
+ try {
+ while (true) {
+ final String currentLine = reader.readLine();
+ if (currentLine == null)
+ break;
+ final String[] tokens = currentLine.split("\\s", 3);
+ if (tokens.length < 2)
+ continue;
+ if (!isKnownTargetType(tokens[0]))
+ continue;
+ final boolean isProject = tokens[0].equals("project");
+ final String uiTargetName = tokens[0] + " " + tokens[1];
+ final String bjamTargetName = isProject ? "" : tokens[1];
+ targets.add(new JamTargetInfo(uiTargetName, bjamTargetName));
+ }
+ } catch (Exception e) {
+ targets.clear();
+ }
+ final JamTargetInfo[] result = new JamTargetInfo[targets.size()];
+ return targets.toArray(result);
+ }
+
+ private static boolean isKnownTargetType(final String type) {
+ final String[] targets = new String[] { "exe", "lib", "alias",
+ "project", "boost-build", "install", "stage", "use-project" };
+ for (final String word : targets)
+ if (word.equals(type))
+ return true;
+ return false;
+ }
+}

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/src/org/boost/eclipse/bjam/views/JamfileTargetsView.java
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/src/org/boost/eclipse/bjam/views/JamfileTargetsView.java 2008-05-02 15:00:15 EDT (Fri, 02 May 2008)
@@ -0,0 +1,174 @@
+/* Copyright Frank Birbacher 2008
+ *
+ * Use, modification and distribution are subject to the Boost Software License,
+ * Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENSE_1_0.txt).
+ */
+package org.boost.eclipse.bjam.views;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.cdt.make.internal.ui.MakeUIImages;
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.viewers.DoubleClickEvent;
+import org.eclipse.jface.viewers.IDoubleClickListener;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IWorkbenchActionConstants;
+import org.eclipse.ui.part.DrillDownAdapter;
+import org.eclipse.ui.part.ViewPart;
+
+/**
+ * This sample class demonstrates how to plug-in a new workbench view. The view
+ * shows data obtained from the model. The sample creates a dummy model on the
+ * fly, but a real implementation would connect to the model available either in
+ * this or another plug-in (e.g. the workspace). The view is connected to the
+ * model using a content provider.
+ * <p>
+ * The view uses a label provider to define how model objects should be
+ * presented in the view. Each view can present the same model objects using
+ * different labels and icons, if needed. Alternatively, a single label provider
+ * can be shared between views in order to ensure that objects of the same type
+ * are presented in the same way everywhere.
+ * <p>
+ */
+
+public class JamfileTargetsView extends ViewPart {
+ private TreeViewer viewer;
+ private DrillDownAdapter drillDownAdapter;
+ private Action rebuildAction;
+ private Action cleanAction;
+ private Action buildAction;
+
+ static List<Object> getOpenProjects(final IWorkspaceRoot root) {
+ List<Object> result = new ArrayList<Object>();
+ for (IProject project : root.getProjects())
+ if (project.isOpen())
+ result.add(project);
+ return result;
+ }
+
+ /**
+ * The constructor.
+ */
+ public JamfileTargetsView() {
+ }
+
+ /**
+ * This is a callback that will allow us to create the viewer and initialize
+ * it.
+ */
+ public void createPartControl(Composite parent) {
+ viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
+ drillDownAdapter = new DrillDownAdapter(viewer);
+ viewer.setContentProvider(new ViewContentProvider());
+ viewer.setLabelProvider(new ViewLabelProvider());
+ viewer.setSorter(new NameSorter());
+ viewer.setInput(ResourcesPlugin.getWorkspace().getRoot());
+ makeActions();
+ hookContextMenu();
+ hookDoubleClickAction();
+ contributeToActionBars();
+ }
+
+ private void hookContextMenu() {
+ MenuManager menuMgr = new MenuManager("#PopupMenu");
+ menuMgr.setRemoveAllWhenShown(true);
+ menuMgr.addMenuListener(new IMenuListener() {
+ public void menuAboutToShow(final IMenuManager manager) {
+ fillContextMenu(manager);
+ }
+ });
+ Menu menu = menuMgr.createContextMenu(viewer.getControl());
+ viewer.getControl().setMenu(menu);
+ getSite().registerContextMenu(menuMgr, viewer);
+ }
+
+ private void contributeToActionBars() {
+ IActionBars bars = getViewSite().getActionBars();
+ fillLocalPullDown(bars.getMenuManager());
+ fillLocalToolBar(bars.getToolBarManager());
+ }
+
+ private void fillLocalPullDown(IMenuManager manager) {
+ manager.add(rebuildAction);
+ manager.add(new Separator());
+ manager.add(cleanAction);
+ }
+
+ private void fillContextMenu(IMenuManager manager) {
+ manager.add(buildAction);
+ manager.add(rebuildAction);
+ manager.add(cleanAction);
+ manager.add(new Separator());
+ drillDownAdapter.addNavigationActions(manager);
+ // Other plug-ins can contribute there actions here
+ manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
+ }
+
+ private void fillLocalToolBar(IToolBarManager manager) {
+ manager.add(buildAction);
+ manager.add(rebuildAction);
+ manager.add(cleanAction);
+ manager.add(new Separator());
+ drillDownAdapter.addNavigationActions(manager);
+ }
+
+ private void makeActions() {
+ buildAction = new MakeTargetAction(viewer);
+ buildAction.setText("build");
+ buildAction.setToolTipText("update target as needed");
+ buildAction.setImageDescriptor(MakeUIImages.DESC_BUILD_TARGET);
+
+ rebuildAction = new MakeTargetAction(viewer, "-a");
+ rebuildAction.setText("rebuild");
+ rebuildAction.setToolTipText("forces a rebuild of all files");
+ MakeUIImages.setImageDescriptors(rebuildAction, "tool16",
+ MakeUIImages.IMG_TOOLS_MAKE_TARGET_BUILD);
+
+ cleanAction = new MakeTargetAction(viewer, "--clean");
+ cleanAction.setText("clean");
+ cleanAction.setToolTipText("clean this target");
+ MakeUIImages.setImageDescriptors(cleanAction, "tool16",
+ MakeUIImages.IMG_TOOLS_MAKE_TARGET_DELETE);
+ }
+
+ private void hookDoubleClickAction() {
+ viewer.addDoubleClickListener(new IDoubleClickListener() {
+ public void doubleClick(DoubleClickEvent event) {
+ final ISelection selection = viewer.getSelection();
+ final Object obj = ((IStructuredSelection) selection)
+ .getFirstElement();
+ if (obj instanceof IContainer) {
+ if (viewer.getExpandedState(obj))
+ viewer.collapseToLevel(obj, 1);
+ else
+ viewer.expandToLevel(obj, 1);
+ } else
+ buildAction.run();
+ }
+ });
+ }
+
+ /**
+ * Passing the focus request to the viewer's control.
+ */
+ public void setFocus() {
+ viewer.getControl().setFocus();
+ }
+}

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/src/org/boost/eclipse/bjam/views/MakeTargetAction.java
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/src/org/boost/eclipse/bjam/views/MakeTargetAction.java 2008-05-02 15:00:15 EDT (Fri, 02 May 2008)
@@ -0,0 +1,111 @@
+/* Copyright Frank Birbacher 2008
+ *
+ * Use, modification and distribution are subject to the Boost Software License,
+ * Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENSE_1_0.txt).
+ */
+package org.boost.eclipse.bjam.views;
+
+
+import org.boost.eclipse.bjam.system.JamTarget;
+import org.eclipse.cdt.make.core.IMakeTarget;
+import org.eclipse.cdt.make.core.IMakeTargetManager;
+import org.eclipse.cdt.make.core.MakeCorePlugin;
+import org.eclipse.cdt.make.internal.ui.MakeUIPlugin;
+import org.eclipse.cdt.make.ui.TargetBuild;
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.swt.widgets.Shell;
+
+class MakeTargetAction extends Action {
+ private final TreeViewer viewer;
+ private final String arguments;
+
+ MakeTargetAction(final TreeViewer viewer) {
+ this(viewer, null);
+ }
+
+ MakeTargetAction(final TreeViewer viewer, final String arguments) {
+ this.viewer = viewer;
+ this.arguments = arguments;
+ }
+
+ private class RecursiveBuilder {
+ private final ITreeContentProvider provider = (ITreeContentProvider) viewer
+ .getContentProvider();
+
+ private void buildAll(final Object what) throws CoreException {
+ buildAll(provider.getChildren(what));
+ }
+
+ private void buildAll(final Object which[]) throws CoreException {
+ for (final Object object : which) {
+ if (object instanceof IFolder)
+ buildAll(object);
+ else if (object instanceof JamTarget)
+ buildJamTarget((JamTarget) object);
+ }
+ }
+ }
+
+ private void recursiveBuild(final Object what) {
+ try {
+ new RecursiveBuilder().buildAll(what);
+ } catch (final CoreException e) {
+ // ignore
+ }
+ }
+
+ public void run() {
+ final IStructuredSelection selection = (IStructuredSelection) viewer
+ .getSelection();
+ for (final Object object : selection.toList()) {
+ if (object instanceof JamTarget)
+ buildJamTarget((JamTarget) object);
+ if (object instanceof IContainer)
+ recursiveBuild(object);
+ }
+ }
+
+ @SuppressWarnings("deprecation")
+ private void buildJamTarget(final JamTarget target) {
+ // showMessage("building " + target.getName());
+ final Shell shell = viewer.getControl().getShell();
+ try {
+ final IMakeTarget makeTarget = MakeCorePlugin.getDefault()
+ .getTargetManager().createTarget(
+ target.getFolder().getProject(), target.getName(),
+ MakeTargetAction.getBuilderID(target.getFolder()));
+ makeTarget.setContainer(target.getFolder());
+ if (arguments != null)
+ makeTarget.setBuildArguments(makeTarget.getBuildArguments()
+ + " " + arguments);
+ makeTarget.setBuildTarget(target.getTargetName());
+ TargetBuild.buildTargets(shell, new IMakeTarget[] { makeTarget });
+ } catch (CoreException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ static private String getBuilderID(final IContainer container) {
+ final IMakeTargetManager fTargetManager = MakeCorePlugin.getDefault()
+ .getTargetManager();
+ final String[] id = fTargetManager.getTargetBuilders(container
+ .getProject());
+ if (id.length == 0) {
+ final String resource = MakeUIPlugin
+ .getResourceString("MakeTargetDialog.exception.noTargetBuilderOnProject");
+ final Status status = new Status(IStatus.ERROR, MakeUIPlugin
+ .getUniqueIdentifier(), -1, resource, null);
+ throw new RuntimeException(new CoreException(status));
+ }
+ return id[0];
+ }
+}

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/src/org/boost/eclipse/bjam/views/NameSorter.java
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/src/org/boost/eclipse/bjam/views/NameSorter.java 2008-05-02 15:00:15 EDT (Fri, 02 May 2008)
@@ -0,0 +1,27 @@
+/* Copyright Frank Birbacher 2008
+ *
+ * Use, modification and distribution are subject to the Boost Software License,
+ * Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENSE_1_0.txt).
+ */
+package org.boost.eclipse.bjam.views;
+
+
+import org.boost.eclipse.bjam.system.JamTarget;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.viewers.ViewerSorter;
+
+class NameSorter extends ViewerSorter {
+
+ @Override
+ public int compare(Viewer viewer, Object e1, Object e2) {
+ final boolean isJam1 = e1 instanceof JamTarget;
+ final boolean isJam2 = e2 instanceof JamTarget;
+ if (isJam1 && isJam2)
+ return ((JamTarget) e1).getTargetName().compareTo(
+ ((JamTarget) e2).getTargetName());
+ if (isJam1 == isJam2)
+ return super.compare(viewer, e1, e2);
+ return isJam1 ? 1 : -1;
+ }
+}
\ No newline at end of file

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/src/org/boost/eclipse/bjam/views/ViewContentProvider.java
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/src/org/boost/eclipse/bjam/views/ViewContentProvider.java 2008-05-02 15:00:15 EDT (Fri, 02 May 2008)
@@ -0,0 +1,105 @@
+/* Copyright Frank Birbacher 2008
+ *
+ * Use, modification and distribution are subject to the Boost Software License,
+ * Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENSE_1_0.txt).
+ */
+package org.boost.eclipse.bjam.views;
+
+
+import java.util.ArrayList;
+
+import org.boost.eclipse.bjam.system.JamTarget;
+import org.boost.eclipse.bjam.system.JamTargetInfo;
+import org.boost.eclipse.bjam.system.JamfileScanner;
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceChangeEvent;
+import org.eclipse.core.resources.IResourceChangeListener;
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.viewers.Viewer;
+
+class ViewContentProvider implements ITreeContentProvider,
+ IResourceChangeListener {
+ private final IWorkspace workspace;
+ private TreeViewer viewer = null;
+
+ public ViewContentProvider() {
+ this.workspace = ResourcesPlugin.getWorkspace();
+ workspace.addResourceChangeListener(this,
+ IResourceChangeEvent.POST_CHANGE);
+ }
+
+ public void resourceChanged(final IResourceChangeEvent event) {
+ if (viewer != null)
+ viewer.refresh(event.getResource());
+ }
+
+ public void inputChanged(final Viewer newViewer, final Object oldInput,
+ final Object newInput) {
+ viewer = (newViewer instanceof TreeViewer) ? (TreeViewer) newViewer
+ : null;
+ }
+
+ public void dispose() {
+ // workspace.removeResourceChangeListener(this);
+ }
+
+ public Object[] getElements(Object parent) {
+ return getChildren(parent);
+ }
+
+ public Object getParent(Object child) {
+ // test for IProject before IContainer
+ if (child instanceof IProject) {
+ return null;
+ }
+ if (child instanceof IContainer) {
+ IContainer container = (IContainer) child;
+ return container.getParent();
+ }
+ return null;
+ }
+
+ public Object[] getChildren(Object parent) {
+ final ArrayList<Object> result = new ArrayList<Object>();
+ try {
+ if (parent instanceof IWorkspaceRoot) {
+ result.addAll(JamfileTargetsView
+ .getOpenProjects((IWorkspaceRoot) parent));
+ } else if (parent instanceof IContainer) {
+ final IContainer container = (IContainer) parent;
+ for (IResource resource : container.members()) {
+ if (resource instanceof IFolder)
+ result.add(resource);
+ if (resource instanceof IFile) {
+ final IFile file = (IFile) resource;
+ final String name = file.getName();
+ if (name.equalsIgnoreCase("jamfile")
+ || name.equalsIgnoreCase("jamroot")) {
+ for (final JamTargetInfo info : JamfileScanner
+ .getTargets(file))
+ result.add(new JamTarget(container, info
+ .getName(), info.getTargetName()));
+ }
+ }
+ }
+ }
+ } catch (CoreException e) {
+ return new Object[0];
+ }
+ return result.toArray();
+ }
+
+ public boolean hasChildren(Object parent) {
+ return getChildren(parent).length > 0;
+ }
+}
\ No newline at end of file

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/src/org/boost/eclipse/bjam/views/ViewLabelProvider.java
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileTargets/src/org/boost/eclipse/bjam/views/ViewLabelProvider.java 2008-05-02 15:00:15 EDT (Fri, 02 May 2008)
@@ -0,0 +1,48 @@
+/* Copyright Frank Birbacher 2008
+ *
+ * Use, modification and distribution are subject to the Boost Software License,
+ * Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENSE_1_0.txt).
+ */
+package org.boost.eclipse.bjam.views;
+
+
+import org.boost.eclipse.bjam.system.JamTarget;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.ISharedImages;
+import org.eclipse.ui.PlatformUI;
+
+class ViewLabelProvider extends LabelProvider {
+ public String getText(Object obj) {
+ if (obj instanceof IResource) {
+ IResource resource = (IResource) obj;
+ return resource.getName();
+ }
+ return obj.toString();
+ }
+
+ @SuppressWarnings("deprecation")
+ static private String testStd(final Object obj) {
+ if (obj instanceof IProject) {
+ // how to get project specific image??
+ // final IProject project = (IProject) obj;
+ return ISharedImages.IMG_OBJ_PROJECT;
+ }
+ if (obj instanceof IFolder)
+ return ISharedImages.IMG_OBJ_FOLDER;
+ if (obj instanceof JamTarget)
+ return ISharedImages.IMG_OBJ_ELEMENT;
+ return null;
+ }
+
+ public Image getImage(final Object obj) {
+ String imageKey = testStd(obj);
+ if (imageKey == null)
+ imageKey = ISharedImages.IMG_OBJS_ERROR_TSK;
+ return PlatformUI.getWorkbench().getSharedImages().getImage(imageKey);
+ }
+}


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk