Build with Buck
Implement a new build system using Buck[1], Facebook's open source clone of Google's internal build system. Pros: - Concise build language - Test and build output is concise - Test failures and stack traces show on terminal - Reliable incrementals; clean is unnecessary - Extensible with simple blocks of Python - Fast buck: clean: 0.452s, full 1m21.083s [*], no-op: 7.145s, mvn: clean: 4.596s, full 2m53.776s, no-op: 59.108s, [*] full build includes downloading all dependencies, time can vary due to remote server performance. Cons: - No Windows support - No native Maven Central support (added by macros) - No native GWT, Prolog, or WAR support (added by macros) - Bootstrap of buck requires Ant Getting started: git clone https://gerrit.googlesource.com/buck cd buck ant Mac OS X: PATH="`pwd`/bin:/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands:$PATH" Linux: PATH="`pwd`/bin:$PATH" Importing into Eclipse: $ time buck build :eclipse 0m48.949s Import existing project from `pwd` Import 'gerrit' (do not import other Maven based projects) Expand 'gerrit' Right click 'buck-out' > Properties Under Attributes check 'Derived' If the code doesn't currently compile but an updated classpath is needed, refresh the configs and obtain missing JARs: $ buck build :eclipse_project :download Running JUnit tests: $ time buck test --all -e slow # skip slow tests 0m19.320s $ time buck test --all # includes acceptance tests 5m17.517s Building WAR: $ buck build :gerrit $ java -jar buck-out/gen/gerrit.war Building release: $ buck test --all && buck build :api :release $ java -jar buck-out/gen/release.war $ ls -lh buck-out/gen/{extension,plugin}-api.jar Downloading dependencies: Dependencies are normally downloaded automatically, but Buck can inspect its graph and download missing dependencies so future compiles can run without the network: $ buck build :download [1] http://facebook.github.io/buck/ Change-Id: I40853b108bd8e153cefa0896a5280a9a5ff81655
This commit is contained in:
parent
5c830a9293
commit
fd6bb9f6a5
5
.buckconfig
Normal file
5
.buckconfig
Normal file
@ -0,0 +1,5 @@
|
||||
[buildfile]
|
||||
includes = //lib/DEFS
|
||||
|
||||
[java]
|
||||
src_roots = java, resources
|
5
.gitignore
vendored
5
.gitignore
vendored
@ -1,9 +1,10 @@
|
||||
/.classpath
|
||||
/.project
|
||||
/.settings
|
||||
/.settings/org.eclipse.jdt.core.prefs
|
||||
/.settings/org.maven.ide.eclipse.prefs
|
||||
/test_site
|
||||
/.idea
|
||||
/gerrit-parent.iml
|
||||
*.sublime-*
|
||||
/buck-cache
|
||||
/buck-out
|
||||
/local.properties
|
||||
|
6
.settings/org.eclipse.core.resources.prefs
Normal file
6
.settings/org.eclipse.core.resources.prefs
Normal file
@ -0,0 +1,6 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding//src/main/java=UTF-8
|
||||
encoding//src/main/resources=UTF-8
|
||||
encoding//src/test/java=UTF-8
|
||||
encoding//src/test/resources=UTF-8
|
||||
encoding/<project>=UTF-8
|
3
.settings/org.eclipse.core.runtime.prefs
Normal file
3
.settings/org.eclipse.core.runtime.prefs
Normal file
@ -0,0 +1,3 @@
|
||||
#Tue Sep 02 16:59:24 PDT 2008
|
||||
eclipse.preferences.version=1
|
||||
line.separator=\n
|
264
.settings/org.eclipse.jdt.core.prefs
Normal file
264
.settings/org.eclipse.jdt.core.prefs
Normal file
@ -0,0 +1,264 @@
|
||||
#Fri Jul 16 23:39:13 PDT 2010
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
|
||||
org.eclipse.jdt.core.compiler.compliance=1.6
|
||||
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
|
||||
org.eclipse.jdt.core.compiler.source=1.6
|
||||
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=16
|
||||
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=16
|
||||
org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16
|
||||
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=0
|
||||
org.eclipse.jdt.core.formatter.blank_lines_before_member_type=0
|
||||
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=2
|
||||
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=true
|
||||
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=false
|
||||
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=do not 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=true
|
||||
org.eclipse.jdt.core.formatter.indentation.size=4
|
||||
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
|
||||
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
|
||||
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not 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=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=do not 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=do not 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=do not 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=do not 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.join_lines_in_comments=true
|
||||
org.eclipse.jdt.core.formatter.join_wrapped_lines=true
|
||||
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=true
|
||||
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=3
|
||||
org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
|
||||
org.eclipse.jdt.core.formatter.tabulation.char=space
|
||||
org.eclipse.jdt.core.formatter.tabulation.size=2
|
||||
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
|
||||
org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
|
61
.settings/org.eclipse.jdt.ui.prefs
Normal file
61
.settings/org.eclipse.jdt.ui.prefs
Normal file
@ -0,0 +1,61 @@
|
||||
#Wed Jul 29 11:31:38 PDT 2009
|
||||
eclipse.preferences.version=1
|
||||
editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
|
||||
formatter_profile=_Google Format
|
||||
formatter_settings_version=11
|
||||
org.eclipse.jdt.ui.ignorelowercasenames=true
|
||||
org.eclipse.jdt.ui.importorder=com.google;com;junit;net;org;java;javax;
|
||||
org.eclipse.jdt.ui.ondemandthreshold=99
|
||||
org.eclipse.jdt.ui.staticondemandthreshold=99
|
||||
org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
|
||||
sp_cleanup.add_default_serial_version_id=true
|
||||
sp_cleanup.add_generated_serial_version_id=false
|
||||
sp_cleanup.add_missing_annotations=false
|
||||
sp_cleanup.add_missing_deprecated_annotations=true
|
||||
sp_cleanup.add_missing_methods=false
|
||||
sp_cleanup.add_missing_nls_tags=false
|
||||
sp_cleanup.add_missing_override_annotations=true
|
||||
sp_cleanup.add_serial_version_id=false
|
||||
sp_cleanup.always_use_blocks=true
|
||||
sp_cleanup.always_use_parentheses_in_expressions=false
|
||||
sp_cleanup.always_use_this_for_non_static_field_access=false
|
||||
sp_cleanup.always_use_this_for_non_static_method_access=false
|
||||
sp_cleanup.convert_to_enhanced_for_loop=false
|
||||
sp_cleanup.correct_indentation=false
|
||||
sp_cleanup.format_source_code=false
|
||||
sp_cleanup.format_source_code_changes_only=false
|
||||
sp_cleanup.make_local_variable_final=true
|
||||
sp_cleanup.make_parameters_final=true
|
||||
sp_cleanup.make_private_fields_final=true
|
||||
sp_cleanup.make_type_abstract_if_missing_method=false
|
||||
sp_cleanup.make_variable_declarations_final=false
|
||||
sp_cleanup.never_use_blocks=false
|
||||
sp_cleanup.never_use_parentheses_in_expressions=true
|
||||
sp_cleanup.on_save_use_additional_actions=true
|
||||
sp_cleanup.organize_imports=false
|
||||
sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
|
||||
sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
|
||||
sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
|
||||
sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
|
||||
sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
|
||||
sp_cleanup.remove_private_constructors=true
|
||||
sp_cleanup.remove_trailing_whitespaces=true
|
||||
sp_cleanup.remove_trailing_whitespaces_all=true
|
||||
sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
|
||||
sp_cleanup.remove_unnecessary_casts=false
|
||||
sp_cleanup.remove_unnecessary_nls_tags=false
|
||||
sp_cleanup.remove_unused_imports=false
|
||||
sp_cleanup.remove_unused_local_variables=false
|
||||
sp_cleanup.remove_unused_private_fields=true
|
||||
sp_cleanup.remove_unused_private_members=false
|
||||
sp_cleanup.remove_unused_private_methods=true
|
||||
sp_cleanup.remove_unused_private_types=true
|
||||
sp_cleanup.sort_members=false
|
||||
sp_cleanup.sort_members_all=false
|
||||
sp_cleanup.use_blocks=false
|
||||
sp_cleanup.use_blocks_only_for_return_and_throw=false
|
||||
sp_cleanup.use_parentheses_in_expressions=false
|
||||
sp_cleanup.use_this_for_non_static_field_access=false
|
||||
sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
|
||||
sp_cleanup.use_this_for_non_static_method_access=false
|
||||
sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
|
114
BUCK
Normal file
114
BUCK
Normal file
@ -0,0 +1,114 @@
|
||||
include_defs('//tools/build.defs')
|
||||
|
||||
gerrit_war(name = 'gerrit')
|
||||
gerrit_war(name = 'chrome', ui = 'draft_safari')
|
||||
gerrit_war(name = 'firefox', ui = 'draft_gecko1_8')
|
||||
gerrit_war(name = 'withdocs', context = DOCS)
|
||||
gerrit_war(name = 'release', context = DOCS + ['//plugins:core.zip'])
|
||||
|
||||
genrule(
|
||||
name = 'api',
|
||||
cmd = 'echo',
|
||||
srcs = [],
|
||||
deps = [
|
||||
':extension-api',
|
||||
':plugin-api',
|
||||
],
|
||||
out = '__api__',
|
||||
)
|
||||
|
||||
java_binary(name = 'extension-api', deps = [':extension-lib'])
|
||||
java_library(
|
||||
name = 'extension-lib',
|
||||
deps = [
|
||||
'//gerrit-extension-api:api',
|
||||
'//lib/guice:guice',
|
||||
'//lib/guice:guice-servlet',
|
||||
'//lib:servlet-api-3_0',
|
||||
],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
java_binary(name = 'plugin-api', deps = [':plugin-lib'])
|
||||
java_library(
|
||||
name = 'plugin-lib',
|
||||
deps = [
|
||||
'//gerrit-server:server',
|
||||
'//gerrit-sshd:sshd',
|
||||
'//gerrit-httpd:httpd',
|
||||
],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
genrule(
|
||||
name = 'download',
|
||||
cmd = 'buck build $(buck audit classpath --dot :eclipse_classpath' +
|
||||
'| egrep \'^ "//lib/\''+
|
||||
'| cut -d\\" -f2' +
|
||||
'| sort | uniq)',
|
||||
srcs = [],
|
||||
deps = [],
|
||||
out = '__fake.download__',
|
||||
)
|
||||
|
||||
genrule(
|
||||
name = 'eclipse',
|
||||
cmd = '',
|
||||
srcs = [],
|
||||
deps = [
|
||||
':_eclipse_project',
|
||||
':_eclipse_classpath',
|
||||
],
|
||||
out = 'eclipse',
|
||||
)
|
||||
|
||||
genrule(
|
||||
name = 'eclipse_project',
|
||||
cmd = '',
|
||||
srcs = [],
|
||||
deps = [
|
||||
':_eclipse_project',
|
||||
':_eclipse_classpath_nocompile',
|
||||
],
|
||||
out = 'eclipse',
|
||||
)
|
||||
|
||||
java_library(
|
||||
name = 'eclipse_classpath',
|
||||
deps = LIBS + PGMLIBS + [
|
||||
'//gerrit-acceptance-tests:acceptance_tests',
|
||||
'//gerrit-gwtdebug:gwtdebug',
|
||||
'//gerrit-gwtui:ui_module',
|
||||
'//gerrit-httpd:httpd_tests',
|
||||
'//gerrit-main:main_lib',
|
||||
'//gerrit-server:server__compile',
|
||||
'//lib/prolog:compiler_lib',
|
||||
] + scan_plugins(),
|
||||
)
|
||||
|
||||
genrule(
|
||||
name = '_eclipse_project',
|
||||
cmd = '${//tools:eclipse_project} $OUT',
|
||||
srcs = [],
|
||||
deps = ['//tools:eclipse_project'],
|
||||
out = 'eclipse_project',
|
||||
)
|
||||
|
||||
genrule(
|
||||
name = '_eclipse_classpath',
|
||||
cmd = '${//tools:eclipse_classpath} $OUT $DEPS',
|
||||
srcs = [],
|
||||
deps = [
|
||||
':eclipse_classpath',
|
||||
'//tools:eclipse_classpath',
|
||||
],
|
||||
out = 'eclipse_classpath',
|
||||
)
|
||||
|
||||
genrule(
|
||||
name = '_eclipse_classpath_nocompile',
|
||||
cmd = '${//tools:eclipse_classpath}',
|
||||
srcs = [],
|
||||
deps = ['//tools:eclipse_classpath'],
|
||||
out = '_eclipse_classpath_nocompile',
|
||||
)
|
55
Documentation/BUCK
Normal file
55
Documentation/BUCK
Normal file
@ -0,0 +1,55 @@
|
||||
include_defs('//Documentation/asciidoc.defs')
|
||||
|
||||
MAIN = ['//gerrit-pgm:pgm', '//gerrit-gwtui:ui_module']
|
||||
SRCS = glob(['*.txt'], excludes = ['licenses.txt'])
|
||||
HTML = [txt[0:-4] + '.html' for txt in SRCS]
|
||||
|
||||
genrule(
|
||||
name = 'html',
|
||||
cmd = 'cd $TMP;' +
|
||||
'mkdir -p Documentation/images;' +
|
||||
'for s in $SRCS;do ln -s $s Documentation;done;' +
|
||||
'mv Documentation/*.{jpg,png} Documentation/images;' +
|
||||
'zip -qr $OUT *',
|
||||
srcs = [genfile(d) for d in HTML] +
|
||||
[genfile('licenses.html')] +
|
||||
glob([
|
||||
'images/*.jpg',
|
||||
'images/*.png',
|
||||
]),
|
||||
deps = [':' + d for d in HTML] + [':licenses.html'],
|
||||
out = 'html.zip',
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
genasciidoc(
|
||||
name = 'generate_html',
|
||||
srcs = SRCS + [genfile('licenses.txt')],
|
||||
outs = HTML + ['licenses.html'],
|
||||
deps = [':config', ':licenses.txt'],
|
||||
attributes = ['toc', 'newline="\\n"'],
|
||||
backend = 'xhtml11',
|
||||
conf_file = genfile('asciidoc.conf'),
|
||||
)
|
||||
|
||||
genrule(
|
||||
name = 'licenses.txt',
|
||||
cmd = '${:licenses} >$OUT',
|
||||
srcs = [],
|
||||
deps = [':licenses'] + MAIN,
|
||||
out = 'licenses.txt',
|
||||
)
|
||||
|
||||
genrule(
|
||||
name = 'config',
|
||||
cmd = 'cp $SRCS $OUT &&' +
|
||||
'echo "[attributes]" >>$OUT &&' +
|
||||
'echo "revision=`git describe HEAD`" >>$OUT',
|
||||
srcs = ['asciidoc.conf'],
|
||||
out = 'asciidoc.conf',
|
||||
)
|
||||
|
||||
python_binary(
|
||||
name = 'licenses',
|
||||
main = 'licenses.py',
|
||||
)
|
54
Documentation/asciidoc.defs
Normal file
54
Documentation/asciidoc.defs
Normal file
@ -0,0 +1,54 @@
|
||||
# Copyright (C) 2013 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
def genasciidoc(
|
||||
name,
|
||||
srcs = [],
|
||||
outs = [],
|
||||
deps = [],
|
||||
attributes = [],
|
||||
backend = None,
|
||||
conf_file = None,
|
||||
visibility = []):
|
||||
cmd = ['asciidoc', '-o', '$OUT']
|
||||
if backend:
|
||||
cmd.extend(['-b', backend])
|
||||
for attribute in attributes:
|
||||
cmd.extend(['-a', attribute])
|
||||
if conf_file:
|
||||
cmd.append('-f')
|
||||
cmd.append('$SRCS')
|
||||
|
||||
for p in zip(srcs, outs):
|
||||
s, o = p
|
||||
if conf_file:
|
||||
src_list = [conf_file, s]
|
||||
else:
|
||||
src_list = [s]
|
||||
genrule(
|
||||
name = o,
|
||||
cmd = ' '.join(cmd),
|
||||
srcs = src_list,
|
||||
deps = deps,
|
||||
out = o,
|
||||
visibility = visibility,
|
||||
)
|
||||
genrule(
|
||||
name = name,
|
||||
cmd = '',
|
||||
srcs = [],
|
||||
deps = [':' + o for o in outs],
|
||||
out = name + '__done',
|
||||
visibility = visibility,
|
||||
)
|
129
Documentation/licenses.py
Executable file
129
Documentation/licenses.py
Executable file
@ -0,0 +1,129 @@
|
||||
#!/usr/bin/python
|
||||
# Copyright (C) 2013 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# TODO(sop): Be more detailed: version, link to Maven Central
|
||||
|
||||
from collections import defaultdict, deque
|
||||
import re
|
||||
from shutil import copyfileobj
|
||||
from subprocess import Popen, PIPE
|
||||
from sys import stdout
|
||||
|
||||
MAIN = ['//gerrit-pgm:pgm', '//gerrit-gwtui:ui_module']
|
||||
|
||||
def parse_graph():
|
||||
graph = defaultdict(list)
|
||||
p = Popen(
|
||||
['buck', 'audit', 'classpath', '--dot'] + MAIN,
|
||||
stdout = PIPE)
|
||||
for line in p.stdout:
|
||||
m = re.search(r'"(//.*?)" -> "(//.*?)";', line)
|
||||
if not m:
|
||||
continue
|
||||
target, dep = m.group(1), m.group(2)
|
||||
if not target.endswith('__compile'):
|
||||
graph[target].append(dep)
|
||||
r = p.wait()
|
||||
if r != 0:
|
||||
exit(r)
|
||||
return graph
|
||||
|
||||
graph = parse_graph()
|
||||
licenses = defaultdict(set)
|
||||
|
||||
queue = deque(MAIN)
|
||||
while queue:
|
||||
target = queue.popleft()
|
||||
for dep in graph[target]:
|
||||
if not dep.startswith('//lib:LICENSE-'):
|
||||
continue
|
||||
licenses[dep].add(target)
|
||||
queue.extend(graph[target])
|
||||
used = sorted(licenses.iterkeys())
|
||||
|
||||
print """\
|
||||
Gerrit Code Review - Licenses
|
||||
=============================
|
||||
|
||||
Gerrit open source software licensed under the <<Apache2.0,Apache
|
||||
License 2.0>>. Executable distributions also include other software
|
||||
components that are provided under additional licenses.
|
||||
|
||||
[[cryptography]]
|
||||
Cryptography Notice
|
||||
-------------------
|
||||
|
||||
This distribution includes cryptographic software. The country
|
||||
in which you currently reside may have restrictions on the import,
|
||||
possession, use, and/or re-export to another country, of encryption
|
||||
software. BEFORE using any encryption software, please check
|
||||
your country's laws, regulations and policies concerning the
|
||||
import, possession, or use, and re-export of encryption software,
|
||||
to see if this is permitted. See the
|
||||
link:http://www.wassenaar.org/[Wassenaar Arrangement]
|
||||
for more information.
|
||||
|
||||
The U.S. Government Department of Commerce, Bureau of Industry
|
||||
and Security (BIS), has classified this software as Export
|
||||
Commodity Control Number (ECCN) 5D002.C.1, which includes
|
||||
information security software using or performing cryptographic
|
||||
functions with asymmetric algorithms. The form and manner of
|
||||
this distribution makes it eligible for export under the License
|
||||
Exception ENC Technology Software Unrestricted (TSU) exception
|
||||
(see the BIS Export Administration Regulations, Section 740.13)
|
||||
for both object code and source code.
|
||||
|
||||
Gerrit includes an SSH daemon (Apache SSHD), to support authenticated
|
||||
uploads of changes directly from `git push` command line clients.
|
||||
|
||||
Gerrit includes an SSH client (JSch), to support authenticated
|
||||
replication of changes to remote systems, such as for automatic
|
||||
updates of mirror servers, or realtime backups.
|
||||
|
||||
For either feature to function, Gerrit requires the
|
||||
link:http://java.sun.com/javase/technologies/security/[Java Cryptography extensions]
|
||||
and/or the
|
||||
link:http://www.bouncycastle.org/java.html[Bouncy Castle Crypto API]
|
||||
to be installed by the end-user.
|
||||
|
||||
Licenses
|
||||
--------
|
||||
"""
|
||||
|
||||
for n in used:
|
||||
libs = sorted(licenses[n])
|
||||
name = n[len('//lib:LICENSE-'):]
|
||||
print
|
||||
print '[[%s]]' % name
|
||||
print name
|
||||
print '~' * len(name)
|
||||
print
|
||||
for d in libs:
|
||||
if d.startswith('//lib:') or d.startswith('//lib/'):
|
||||
p = d[len('//lib:'):]
|
||||
else:
|
||||
p = d[d.index(':')+1:].lower()
|
||||
print '* ' + p
|
||||
print
|
||||
print '----'
|
||||
with open(n[2:].replace(':', '/')) as fd:
|
||||
copyfileobj(fd, stdout)
|
||||
print '----'
|
||||
|
||||
print """
|
||||
GERRIT
|
||||
------
|
||||
Part of link:index.html[Gerrit Code Review]
|
||||
"""
|
22
gerrit-acceptance-tests/BUCK
Normal file
22
gerrit-acceptance-tests/BUCK
Normal file
@ -0,0 +1,22 @@
|
||||
TEST = [
|
||||
'//gerrit-httpd:httpd',
|
||||
'//gerrit-sshd:sshd',
|
||||
'//gerrit-server:server',
|
||||
]
|
||||
|
||||
java_test(
|
||||
name = 'acceptance_tests',
|
||||
srcs = glob(['src/test/java/**/*.java']),
|
||||
deps = TEST + [
|
||||
'//gerrit-launcher:launcher',
|
||||
'//gerrit-pgm:pgm',
|
||||
'//lib:servlet-api-3_0',
|
||||
'//lib:h2',
|
||||
'//lib:junit',
|
||||
'//lib/jgit:junit',
|
||||
'//lib/openid:http-client',
|
||||
],
|
||||
source_under_test = TEST,
|
||||
labels = ['slow'],
|
||||
visibility = ['//:eclipse_classpath'],
|
||||
)
|
49
gerrit-antlr/BUCK
Normal file
49
gerrit-antlr/BUCK
Normal file
@ -0,0 +1,49 @@
|
||||
ANTLR_OUTS = [
|
||||
'QueryLexer.java',
|
||||
'QueryParser.java',
|
||||
]
|
||||
|
||||
java_library(
|
||||
name = 'antlr',
|
||||
deps = [':query'],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
java_library(
|
||||
name = 'query_exception',
|
||||
srcs = ['src/main/java/com/google/gerrit/server/query/QueryParseException.java'],
|
||||
)
|
||||
|
||||
genantlr(
|
||||
name = 'query_antlr',
|
||||
srcs = ['src/main/antlr3/com/google/gerrit/server/query/Query.g'],
|
||||
outs = ANTLR_OUTS,
|
||||
)
|
||||
|
||||
java_library(
|
||||
name = 'lib',
|
||||
srcs = [genfile(f) for f in ANTLR_OUTS],
|
||||
deps = [
|
||||
':query_antlr',
|
||||
':query_exception',
|
||||
'//lib/antlr:java_runtime',
|
||||
],
|
||||
)
|
||||
|
||||
genrule(
|
||||
name = 'query_link',
|
||||
cmd = 'ln -s $SRCS $OUT',
|
||||
srcs = [genfile('lib__lib__output/lib.jar')],
|
||||
deps = [':lib'],
|
||||
out = 'query.jar',
|
||||
)
|
||||
|
||||
prebuilt_jar(
|
||||
name = 'query',
|
||||
binary_jar = genfile('query.jar'),
|
||||
deps = [
|
||||
':query_link',
|
||||
':query_exception',
|
||||
'//lib/antlr:java_runtime',
|
||||
],
|
||||
)
|
10
gerrit-cache-h2/BUCK
Normal file
10
gerrit-cache-h2/BUCK
Normal file
@ -0,0 +1,10 @@
|
||||
java_library(
|
||||
name = 'cache-h2',
|
||||
srcs = glob(['src/main/java/**/*.java']),
|
||||
deps = [
|
||||
'//gerrit-server:server',
|
||||
'//lib:guava',
|
||||
'//lib:h2',
|
||||
],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
54
gerrit-common/BUCK
Normal file
54
gerrit-common/BUCK
Normal file
@ -0,0 +1,54 @@
|
||||
SRC = 'src/main/java/com/google/gerrit/'
|
||||
VER = 'resources/com/google/gerrit/common/Version'
|
||||
|
||||
gwt_module(
|
||||
name = 'client',
|
||||
srcs = glob([SRC + 'common/**/*.java']),
|
||||
gwtxml = SRC + 'Common.gwt.xml',
|
||||
deps = [
|
||||
'//gerrit-patch-jgit:client',
|
||||
'//gerrit-prettify:client',
|
||||
'//gerrit-reviewdb:client',
|
||||
'//lib:jsr305',
|
||||
],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
java_library(
|
||||
name = 'server',
|
||||
srcs = glob(
|
||||
[SRC + 'common/**/*.java'],
|
||||
excludes = [SRC + 'common/ClientVersion.java'],
|
||||
),
|
||||
deps = [
|
||||
'//gerrit-patch-jgit:server',
|
||||
'//gerrit-prettify:server',
|
||||
'//gerrit-reviewdb:server',
|
||||
'//lib:jsr305',
|
||||
],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
java_library(
|
||||
name = 'version',
|
||||
resources = [genfile(VER)],
|
||||
deps = [':git_describe'],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
genrule(
|
||||
name = 'git_describe',
|
||||
cmd = 'mkdir -p $(dirname $OUT); git describe HEAD >$OUT',
|
||||
srcs = [],
|
||||
out = VER,
|
||||
)
|
||||
|
||||
java_test(
|
||||
name = 'client_tests',
|
||||
srcs = glob(['src/test/java/**/*.java']),
|
||||
deps = [
|
||||
':client',
|
||||
'//lib:junit',
|
||||
],
|
||||
source_under_test = [':client'],
|
||||
)
|
10
gerrit-extension-api/BUCK
Normal file
10
gerrit-extension-api/BUCK
Normal file
@ -0,0 +1,10 @@
|
||||
java_library2(
|
||||
name = 'api',
|
||||
srcs = glob(['src/main/java/com/google/gerrit/extensions/**/*.java']),
|
||||
compile_deps = [
|
||||
'//lib/guice:guice',
|
||||
'//lib/guice:guice-servlet',
|
||||
'//lib:servlet-api-3_0',
|
||||
],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
6
gerrit-gwtdebug/BUCK
Normal file
6
gerrit-gwtdebug/BUCK
Normal file
@ -0,0 +1,6 @@
|
||||
java_library(
|
||||
name = 'gwtdebug',
|
||||
srcs = ['src/main/java/com/google/gerrit/gwtdebug/GerritDebugLauncher.java'],
|
||||
deps = ['//lib/gwt:dev'],
|
||||
visibility = ['//:eclipse_classpath'],
|
||||
)
|
@ -381,9 +381,15 @@ public class GerritDebugLauncher extends ServletContainerLauncher {
|
||||
Server server = new Server();
|
||||
server.addConnector(connector);
|
||||
|
||||
// warDir is "$top/gerrit-gwtui/target/gwt-hosted-mode"
|
||||
//
|
||||
File top = warDir.getParentFile().getParentFile().getParentFile();
|
||||
File top;
|
||||
String root = System.getProperty("gerrit.source_root");
|
||||
if (root != null) {
|
||||
top = new File(root);
|
||||
} else {
|
||||
// Under Maven warDir is "$top/gerrit-gwtui/target/gwt-hosted-mode"
|
||||
top = warDir.getParentFile().getParentFile().getParentFile();
|
||||
}
|
||||
|
||||
File app = new File(top, "gerrit-war/src/main/webapp");
|
||||
File webxml = new File(app, "WEB-INF/web.xml");
|
||||
|
||||
|
111
gerrit-gwtexpui/BUCK
Normal file
111
gerrit-gwtexpui/BUCK
Normal file
@ -0,0 +1,111 @@
|
||||
SRC = 'src/main/java/com/google/gwtexpui/'
|
||||
|
||||
gwt_module(
|
||||
name = 'Clippy',
|
||||
srcs = glob([SRC + 'clippy/client/*.java']),
|
||||
gwtxml = SRC + 'clippy/Clippy.gwt.xml',
|
||||
resources = [SRC + 'clippy/client/clippy.css'],
|
||||
deps = [
|
||||
':SafeHtml',
|
||||
':UserAgent',
|
||||
'//lib/gwt:user',
|
||||
'//lib:LICENSE-clippy',
|
||||
],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
genrule(
|
||||
name = 'clippy_swf',
|
||||
cmd = 'mkdir $TMP/gerrit_ui ;' +
|
||||
'cp $SRCS $TMP/gerrit_ui;' +
|
||||
'cd $TMP;' +
|
||||
'zip -qr $OUT gerrit_ui',
|
||||
srcs = [SRC + 'clippy/public/gwtexpui_clippy1.cache.swf'],
|
||||
out = 'clippy_swf.zip',
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
gwt_module(
|
||||
name = 'CSS',
|
||||
srcs = glob([SRC + 'css/rebind/*.java']),
|
||||
gwtxml = SRC + 'css/CSS.gwt.xml',
|
||||
deps = ['//lib/gwt:dev'],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
gwt_module(
|
||||
name = 'GlobalKey',
|
||||
srcs = glob([SRC + 'globalkey/client/*.java']),
|
||||
gwtxml = SRC + 'globalkey/GlobalKey.gwt.xml',
|
||||
resources = [
|
||||
SRC + 'globalkey/client/KeyConstants.properties',
|
||||
SRC + 'globalkey/client/key.css',
|
||||
],
|
||||
deps = [
|
||||
':SafeHtml',
|
||||
':UserAgent',
|
||||
'//lib/gwt:user',
|
||||
],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
gwt_module(
|
||||
name = 'Linker',
|
||||
srcs = glob([SRC + 'linker/rebind/*.java']),
|
||||
gwtxml = SRC + 'linker/ServerPlannedIFrameLinker.gwt.xml',
|
||||
deps = ['//lib/gwt:dev'],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
java_library2(
|
||||
name = 'linker_server',
|
||||
srcs = glob([SRC + 'linker/server/*.java']),
|
||||
compile_deps = ['//lib:servlet-api-3_0'],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
gwt_module(
|
||||
name = 'Progress',
|
||||
srcs = glob([SRC + 'progress/client/*.java']),
|
||||
gwtxml = SRC + 'progress/Progress.gwt.xml',
|
||||
resources = [SRC + 'progress/client/progress.css'],
|
||||
deps = ['//lib/gwt:user'],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
gwt_module(
|
||||
name = 'SafeHtml',
|
||||
srcs = glob([SRC + 'safehtml/client/*.java']),
|
||||
gwtxml = SRC + 'safehtml/SafeHtml.gwt.xml',
|
||||
resources = [SRC + 'safehtml/client/safehtml.css'],
|
||||
deps = ['//lib/gwt:user'],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
java_test(
|
||||
name = 'SafeHtml_tests',
|
||||
srcs = glob([
|
||||
'src/test/java/com/google/gwtexpui/safehtml/client/**/*.java',
|
||||
]),
|
||||
deps = [
|
||||
':SafeHtml',
|
||||
'//lib:junit',
|
||||
'//lib/gwt:dev',
|
||||
],
|
||||
source_under_test = [':SafeHtml'],
|
||||
)
|
||||
|
||||
gwt_module(
|
||||
name = 'UserAgent',
|
||||
srcs = glob([SRC + 'user/client/*.java']),
|
||||
gwtxml = SRC + 'user/User.gwt.xml',
|
||||
deps = ['//lib/gwt:user'],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
java_library2(
|
||||
name = 'server',
|
||||
srcs = glob([SRC + 'server/*.java']),
|
||||
compile_deps = ['//lib:servlet-api-3_0'],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
92
gerrit-gwtui/BUCK
Normal file
92
gerrit-gwtui/BUCK
Normal file
@ -0,0 +1,92 @@
|
||||
include_defs('//gerrit-gwtui/DEFS')
|
||||
|
||||
genrule(
|
||||
name = 'ui_optdbg',
|
||||
cmd = 'cd $TMP;' +
|
||||
'unzip -q $SRCDIR/ui_dbg.zip;' +
|
||||
'mv' +
|
||||
' gerrit_ui/gerrit_ui.nocache.js' +
|
||||
' gerrit_ui/gerrit_dbg.nocache.js;' +
|
||||
'unzip -qo $SRCDIR/ui_opt.zip;' +
|
||||
'mkdir -p $(dirname $OUT);' +
|
||||
'zip -qr $OUT .',
|
||||
srcs = [
|
||||
genfile('ui_dbg.zip'),
|
||||
genfile('ui_opt.zip'),
|
||||
],
|
||||
deps = [
|
||||
':ui_dbg',
|
||||
':ui_opt',
|
||||
],
|
||||
out = 'ui_optdbg.zip',
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
gwt_application(
|
||||
name = 'ui_opt',
|
||||
module_target = MODULE,
|
||||
compiler_opts = [
|
||||
'-strict',
|
||||
'-style', 'OBF',
|
||||
'-optimize', '9',
|
||||
'-XdisableClassMetadata',
|
||||
'-XdisableCastChecking',
|
||||
],
|
||||
deps = APP_DEPS,
|
||||
)
|
||||
|
||||
gwt_application(
|
||||
name = 'ui_dbg',
|
||||
module_target = MODULE,
|
||||
compiler_opts = DEBUG_OPTS + ['-strict'],
|
||||
deps = APP_DEPS,
|
||||
visibility = ['//:eclipse'],
|
||||
)
|
||||
|
||||
gwt_user_agent_permutations(
|
||||
name = 'ui',
|
||||
module_name = 'gerrit_ui',
|
||||
module_target = MODULE,
|
||||
compiler_opts = DEBUG_OPTS + ['-draftCompile'],
|
||||
browsers = BROWSERS,
|
||||
deps = APP_DEPS,
|
||||
visibility = ['//:'],
|
||||
)
|
||||
|
||||
gwt_module(
|
||||
name = 'ui_module',
|
||||
srcs = glob(['src/main/java/**/*.java']),
|
||||
gwtxml = 'src/main/java/%s.gwt.xml' % MODULE.replace('.', '/'),
|
||||
resources = glob(['src/main/java/**/*']),
|
||||
deps = [
|
||||
'//gerrit-gwtexpui:Clippy',
|
||||
'//gerrit-gwtexpui:CSS',
|
||||
'//gerrit-gwtexpui:GlobalKey',
|
||||
'//gerrit-gwtexpui:Linker',
|
||||
'//gerrit-gwtexpui:Progress',
|
||||
'//gerrit-gwtexpui:SafeHtml',
|
||||
'//gerrit-gwtexpui:UserAgent',
|
||||
'//gerrit-common:client',
|
||||
'//gerrit-patch-jgit:client',
|
||||
'//gerrit-prettify:client',
|
||||
'//gerrit-reviewdb:client',
|
||||
'//lib:gwtjsonrpc',
|
||||
'//lib:gwtjsonrpc_src',
|
||||
'//lib/gwt:user',
|
||||
],
|
||||
visibility = [
|
||||
'//:eclipse_classpath',
|
||||
'//Documentation:licenses.txt',
|
||||
],
|
||||
)
|
||||
|
||||
java_test(
|
||||
name = 'ui_tests',
|
||||
srcs = glob(['src/test/java/**/*.java']),
|
||||
deps = [
|
||||
':ui_module',
|
||||
'//lib:junit',
|
||||
'//lib/gwt:dev',
|
||||
],
|
||||
source_under_test = [':ui_module'],
|
||||
)
|
78
gerrit-gwtui/DEFS
Normal file
78
gerrit-gwtui/DEFS
Normal file
@ -0,0 +1,78 @@
|
||||
# Copyright (C) 2013 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
BROWSERS = [
|
||||
'chrome',
|
||||
'firefox',
|
||||
'gecko1_8',
|
||||
'safari',
|
||||
'msie', 'ie6', 'ie8', 'ie9',
|
||||
]
|
||||
ALIASES = {
|
||||
'chrome': 'safari',
|
||||
'firefox': 'gecko1_8',
|
||||
'msie': 'ie9',
|
||||
}
|
||||
MODULE = 'com.google.gerrit.GerritGwtUI'
|
||||
|
||||
DEBUG_OPTS = [
|
||||
'-style', 'PRETTY',
|
||||
'-optimize', '0',
|
||||
]
|
||||
|
||||
APP_DEPS = [
|
||||
':ui_module',
|
||||
'//gerrit-common:version',
|
||||
]
|
||||
|
||||
def gwt_user_agent_permutations(
|
||||
name,
|
||||
module_name,
|
||||
module_target,
|
||||
compiler_opts = [],
|
||||
deps = [],
|
||||
browsers = [],
|
||||
visibility = []):
|
||||
for ua in browsers:
|
||||
impl = ua
|
||||
if ua in ALIASES:
|
||||
impl = ALIASES[ua]
|
||||
xml = ''.join([
|
||||
"<module rename-to='%s'>" % module_name,
|
||||
"<inherits name='%s'/>" % module_target,
|
||||
"<set-property name='user.agent' value='%s'/>" % impl,
|
||||
"<set-property name='locale' value='default'/>",
|
||||
"</module>",
|
||||
])
|
||||
gwt = 'resources/%s_%s.gwt.xml' % (module_target.replace('.', '/'), ua)
|
||||
genrule(
|
||||
name = '%s_%s_gwtxml_gen' % (name, ua),
|
||||
cmd = 'mkdir -p $(dirname $OUT);echo "%s">$OUT' % xml,
|
||||
srcs = [],
|
||||
deps = [],
|
||||
out = gwt,
|
||||
)
|
||||
java_library(
|
||||
name = '%s_%s_gwtxml_lib' % (name, ua),
|
||||
resources = [genfile(gwt)],
|
||||
deps = [':%s_%s_gwtxml_gen' % (name, ua)],
|
||||
)
|
||||
gwt_application(
|
||||
name = '%s_%s' % (name, ua),
|
||||
module_target = module_target + '_' + ua,
|
||||
compiler_opts = compiler_opts,
|
||||
deps = deps + [':%s_%s_gwtxml_lib' % (name, ua)],
|
||||
visibility = visibility,
|
||||
)
|
||||
|
32
gerrit-httpd/BUCK
Normal file
32
gerrit-httpd/BUCK
Normal file
@ -0,0 +1,32 @@
|
||||
java_library2(
|
||||
name = 'httpd',
|
||||
srcs = glob(['src/main/java/**/*.java']),
|
||||
resources = glob(['src/main/resources/**/*']),
|
||||
deps = [
|
||||
'//gerrit-gwtexpui:linker_server',
|
||||
'//gerrit-gwtexpui:server',
|
||||
'//gerrit-prettify:server',
|
||||
'//gerrit-server:server',
|
||||
'//lib:gwtjsonrpc',
|
||||
'//lib:jsr305',
|
||||
'//lib:mime-util',
|
||||
'//lib:servlet-api-3_0',
|
||||
'//lib/jgit:jgit-servlet',
|
||||
],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
java_test(
|
||||
name = 'httpd_tests',
|
||||
srcs = glob(['src/test/java/**/*.java']),
|
||||
deps = [
|
||||
':httpd',
|
||||
'//lib:easymock',
|
||||
'//lib:junit',
|
||||
'//lib:servlet-api-3_0',
|
||||
'//lib/jgit:junit',
|
||||
],
|
||||
source_under_test = [':httpd'],
|
||||
# TODO(sop) Remove after Buck supports Eclipse
|
||||
visibility = ['//:eclipse_classpath'],
|
||||
)
|
9
gerrit-launcher/BUCK
Normal file
9
gerrit-launcher/BUCK
Normal file
@ -0,0 +1,9 @@
|
||||
java_library(
|
||||
name = 'launcher',
|
||||
srcs = glob(['src/main/java/**/*.java']),
|
||||
visibility = [
|
||||
'//gerrit-acceptance-tests:',
|
||||
'//gerrit-main:main_lib',
|
||||
'//gerrit-pgm:',
|
||||
],
|
||||
)
|
13
gerrit-main/BUCK
Normal file
13
gerrit-main/BUCK
Normal file
@ -0,0 +1,13 @@
|
||||
java_binary(
|
||||
name = 'main_bin',
|
||||
main_class = 'Main',
|
||||
deps = [':main_lib'],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
java_library(
|
||||
name = 'main_lib',
|
||||
srcs = ['src/main/java/Main.java'],
|
||||
deps = ['//gerrit-launcher:launcher'],
|
||||
visibility = ['//:eclipse_classpath'],
|
||||
)
|
17
gerrit-openid/BUCK
Normal file
17
gerrit-openid/BUCK
Normal file
@ -0,0 +1,17 @@
|
||||
java_library(
|
||||
name = 'openid',
|
||||
srcs = glob(['src/main/java/**/*.java']),
|
||||
resources = glob(['src/main/resources/**/*']),
|
||||
deps = [
|
||||
'//gerrit-common:server',
|
||||
'//gerrit-extension-api:api',
|
||||
'//gerrit-httpd:httpd',
|
||||
'//lib:guava',
|
||||
'//lib:jsr305',
|
||||
'//lib:servlet-api-3_0',
|
||||
'//lib/guice:guice',
|
||||
'//lib/log:api',
|
||||
'//lib/openid:consumer',
|
||||
],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
11
gerrit-patch-commonsnet/BUCK
Normal file
11
gerrit-patch-commonsnet/BUCK
Normal file
@ -0,0 +1,11 @@
|
||||
java_library(
|
||||
name = 'commons-net',
|
||||
srcs = glob(['src/main/java/org/apache/commons/net/**/*.java']),
|
||||
deps = [
|
||||
'//gerrit-util-ssl:ssl',
|
||||
'//lib/commons:codec',
|
||||
'//lib/commons:net',
|
||||
'//lib/log:api',
|
||||
],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
32
gerrit-patch-jgit/BUCK
Normal file
32
gerrit-patch-jgit/BUCK
Normal file
@ -0,0 +1,32 @@
|
||||
SRC = 'src/main/java/org/eclipse/jgit/'
|
||||
|
||||
gwt_module(
|
||||
name = 'client',
|
||||
srcs = [
|
||||
SRC + 'diff/Edit_JsonSerializer.java',
|
||||
SRC + 'diff/ReplaceEdit.java',
|
||||
],
|
||||
gwtxml = SRC + 'JGit.gwt.xml',
|
||||
deps = [
|
||||
'//lib:gwtjsonrpc',
|
||||
'//lib/gwt:user',
|
||||
'//lib/jgit:jgit',
|
||||
'//lib/jgit:Edit',
|
||||
],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
java_library(
|
||||
name = 'server',
|
||||
srcs = [
|
||||
SRC + 'diff/EditDeserializer.java',
|
||||
SRC + 'diff/ReplaceEdit.java',
|
||||
SRC + 'internal/storage/file/WindowCacheStatAccessor.java',
|
||||
SRC + 'lib/ObjectIdSerialization.java',
|
||||
],
|
||||
deps = [
|
||||
'//lib:gson',
|
||||
'//lib/jgit:jgit',
|
||||
],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
38
gerrit-pgm/BUCK
Normal file
38
gerrit-pgm/BUCK
Normal file
@ -0,0 +1,38 @@
|
||||
java_library2(
|
||||
name = 'pgm',
|
||||
srcs = glob(['src/main/java/**/*.java']),
|
||||
resources = glob(['src/main/resources/**/*']),
|
||||
deps = [
|
||||
'//gerrit-server:common_rules',
|
||||
'//gerrit-server:server',
|
||||
'//gerrit-httpd:httpd',
|
||||
'//gerrit-sshd:sshd',
|
||||
|
||||
'//gerrit-cache-h2:cache-h2',
|
||||
'//gerrit-openid:openid',
|
||||
|
||||
'//gerrit-util-cli:cli',
|
||||
'//lib/jetty:servlet',
|
||||
'//lib/log:log4j',
|
||||
],
|
||||
compile_deps = [
|
||||
'//gerrit-launcher:launcher',
|
||||
],
|
||||
visibility = [
|
||||
'//:',
|
||||
'//gerrit-acceptance-tests:',
|
||||
'//Documentation:licenses.txt',
|
||||
],
|
||||
)
|
||||
|
||||
java_test(
|
||||
name = 'pgm_tests',
|
||||
srcs = glob(['src/test/java/**/*.java']),
|
||||
deps = [
|
||||
':pgm',
|
||||
'//lib:junit',
|
||||
'//lib:easymock',
|
||||
'//lib/jgit:junit',
|
||||
],
|
||||
source_under_test = [':pgm'],
|
||||
)
|
@ -17,6 +17,7 @@ package com.google.gerrit.pgm.http.jetty;
|
||||
import static java.util.concurrent.TimeUnit.MILLISECONDS;
|
||||
import static java.util.concurrent.TimeUnit.SECONDS;
|
||||
|
||||
import com.google.common.io.ByteStreams;
|
||||
import com.google.gerrit.extensions.events.LifecycleListener;
|
||||
import com.google.gerrit.launcher.GerritLauncher;
|
||||
import com.google.gerrit.reviewdb.client.AuthType;
|
||||
@ -49,12 +50,15 @@ import org.eclipse.jetty.util.ssl.SslContextFactory;
|
||||
import org.eclipse.jetty.util.thread.QueuedThreadPool;
|
||||
import org.eclipse.jetty.util.thread.ThreadPool;
|
||||
import org.eclipse.jgit.lib.Config;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InterruptedIOException;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
@ -72,6 +76,8 @@ import javax.servlet.DispatcherType;
|
||||
|
||||
@Singleton
|
||||
public class JettyServer {
|
||||
private static final Logger log = LoggerFactory.getLogger(JettyServer.class);
|
||||
|
||||
static class Lifecycle implements LifecycleListener {
|
||||
private final JettyServer server;
|
||||
|
||||
@ -368,7 +374,7 @@ public class JettyServer {
|
||||
private Resource getBaseResource() throws IOException {
|
||||
if (baseResource == null) {
|
||||
try {
|
||||
baseResource = unpackWar();
|
||||
baseResource = unpackWar(GerritLauncher.getDistributionArchive());
|
||||
} catch (FileNotFoundException err) {
|
||||
if (err.getMessage() == GerritLauncher.NOT_ARCHIVED) {
|
||||
baseResource = useDeveloperBuild();
|
||||
@ -380,9 +386,7 @@ public class JettyServer {
|
||||
return baseResource;
|
||||
}
|
||||
|
||||
private Resource unpackWar() throws IOException {
|
||||
final File srcwar = GerritLauncher.getDistributionArchive();
|
||||
|
||||
private Resource unpackWar(File srcwar) throws IOException {
|
||||
// Obtain our local temporary directory, but it comes back as a file
|
||||
// so we have to switch it to be a directory post creation.
|
||||
//
|
||||
@ -474,15 +478,70 @@ public class JettyServer {
|
||||
dir = dir.getParentFile();
|
||||
}
|
||||
|
||||
// We should be in a Maven style output, that is $jar/target/classes.
|
||||
//
|
||||
if (!dir.getName().equals("classes")) {
|
||||
throw new FileNotFoundException("Cannot find web root from " + u);
|
||||
}
|
||||
dir = dir.getParentFile(); // pop classes
|
||||
if (!dir.getName().equals("target")) {
|
||||
|
||||
if ("buck-out".equals(dir.getName())) {
|
||||
String pkg = "gerrit-gwtui";
|
||||
String target = targetForBrowser(System.getProperty("gerrit.browser"));
|
||||
File gen = new File(dir, "gen");
|
||||
String out = new File(new File(gen, pkg), target).getAbsolutePath();
|
||||
build(dir.getParentFile(), out + ".rebuild", "//" + pkg + ":" + target);
|
||||
return unpackWar(new File(out + ".zip"));
|
||||
} else if ("target".equals(dir.getName())) {
|
||||
return useMavenDeveloperBuild(dir);
|
||||
} else {
|
||||
throw new FileNotFoundException("Cannot find web root from " + u);
|
||||
}
|
||||
}
|
||||
|
||||
private static String targetForBrowser(String browser) {
|
||||
if (browser == null || browser.isEmpty()) {
|
||||
return "ui_dbg";
|
||||
} else if (browser.startsWith("ui_")) {
|
||||
return browser;
|
||||
} else {
|
||||
return "ui_" + browser;
|
||||
}
|
||||
}
|
||||
|
||||
private static void build(File root, String cmd, String target)
|
||||
throws IOException {
|
||||
long start = System.currentTimeMillis();
|
||||
log.info("buck build " + target);
|
||||
Process rebuild = new ProcessBuilder(cmd, target)
|
||||
.directory(root)
|
||||
.redirectErrorStream(true)
|
||||
.start();
|
||||
|
||||
byte[] out;
|
||||
InputStream in = rebuild.getInputStream();
|
||||
try {
|
||||
out = ByteStreams.toByteArray(in);
|
||||
} finally {
|
||||
rebuild.getOutputStream().close();
|
||||
in.close();
|
||||
}
|
||||
|
||||
int status;
|
||||
try {
|
||||
status = rebuild.waitFor();
|
||||
} catch (InterruptedException e) {
|
||||
throw new InterruptedIOException("interrupted waiting for " + cmd);
|
||||
}
|
||||
if (status != 0) {
|
||||
System.err.write(out);
|
||||
System.err.println();
|
||||
System.exit(status);
|
||||
}
|
||||
|
||||
long time = System.currentTimeMillis() - start;
|
||||
log.info(String.format("UPDATED %s in %.3fs", target, time / 1000.0));
|
||||
}
|
||||
|
||||
private Resource useMavenDeveloperBuild(File dir) throws IOException {
|
||||
dir = dir.getParentFile(); // pop target
|
||||
dir = dir.getParentFile(); // pop the module we are in
|
||||
|
||||
|
@ -13,6 +13,7 @@
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
# Version should match lib/bouncycastle/BUCK
|
||||
[library "bouncyCastle"]
|
||||
name = Bouncy Castle Crypto v144
|
||||
url = http://www.bouncycastle.org/download/bcprov-jdk16-144.jar
|
||||
|
47
gerrit-prettify/BUCK
Normal file
47
gerrit-prettify/BUCK
Normal file
@ -0,0 +1,47 @@
|
||||
SRC = 'src/main/java/com/google/gerrit/prettify/'
|
||||
|
||||
gwt_module(
|
||||
name = 'client',
|
||||
srcs = glob([
|
||||
SRC + 'client/**/*.java',
|
||||
SRC + 'common/**/*.java',
|
||||
]),
|
||||
gwtxml = SRC + 'PrettyFormatter.gwt.xml',
|
||||
resources = glob([
|
||||
'src/main/java/com/google/gerrit/prettify/client/*.properties',
|
||||
]),
|
||||
deps = [
|
||||
':google-code-prettify',
|
||||
'//gerrit-patch-jgit:client',
|
||||
'//gerrit-reviewdb:client',
|
||||
'//gerrit-gwtexpui:SafeHtml',
|
||||
'//lib:guava',
|
||||
'//lib:gwtjsonrpc',
|
||||
'//lib/gwt:user',
|
||||
'//lib/jgit:jgit',
|
||||
],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
java_library(
|
||||
name = 'google-code-prettify',
|
||||
resources = glob([
|
||||
'src/main/resources/com/google/gerrit/prettify/client/**/*',
|
||||
]),
|
||||
deps = [
|
||||
'//lib:LICENSE-Apache2.0',
|
||||
],
|
||||
)
|
||||
|
||||
java_library(
|
||||
name = 'server',
|
||||
srcs = glob([SRC + 'common/**/*.java']),
|
||||
deps = [
|
||||
'//gerrit-patch-jgit:server',
|
||||
'//gerrit-reviewdb:server',
|
||||
'//lib:guava',
|
||||
'//lib:gwtjsonrpc',
|
||||
'//lib/jgit:jgit',
|
||||
],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
20
gerrit-reviewdb/BUCK
Normal file
20
gerrit-reviewdb/BUCK
Normal file
@ -0,0 +1,20 @@
|
||||
SRC = 'src/main/java/com/google/gerrit/reviewdb/'
|
||||
|
||||
gwt_module(
|
||||
name = 'client',
|
||||
srcs = glob([SRC + 'client/**/*.java']),
|
||||
gwtxml = SRC + 'ReviewDB.gwt.xml',
|
||||
deps = [
|
||||
'//lib:gwtorm',
|
||||
'//lib:gwtorm_src'
|
||||
],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
java_library(
|
||||
name = 'server',
|
||||
srcs = glob([SRC + '**/*.java']),
|
||||
resources = glob(['src/main/resources/**/*']),
|
||||
deps = ['//lib:gwtorm'],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
61
gerrit-server/BUCK
Normal file
61
gerrit-server/BUCK
Normal file
@ -0,0 +1,61 @@
|
||||
include_defs('//lib/prolog/DEFS')
|
||||
|
||||
java_library2(
|
||||
name = 'server',
|
||||
srcs = glob(['src/main/java/**/*.java']),
|
||||
resources = glob(['src/main/resources/**/*']),
|
||||
deps = [
|
||||
'//gerrit-antlr:antlr',
|
||||
'//gerrit-common:server',
|
||||
'//gerrit-extension-api:api',
|
||||
'//gerrit-util-cli:cli',
|
||||
'//gerrit-util-ssl:ssl',
|
||||
'//gerrit-patch-commonsnet:commons-net',
|
||||
'//lib:automaton',
|
||||
'//lib:guava',
|
||||
'//lib:jsch',
|
||||
'//lib:jsr305',
|
||||
'//lib:juniversalchardet',
|
||||
'//lib:mime-util',
|
||||
'//lib:ow2-asm',
|
||||
'//lib:ow2-asm-tree',
|
||||
'//lib:ow2-asm-util',
|
||||
'//lib:pegdown',
|
||||
'//lib:velocity',
|
||||
'//lib/commons:dbcp',
|
||||
'//lib/commons:lang',
|
||||
'//lib/commons:net',
|
||||
'//lib/guice:guice',
|
||||
'//lib/guice:guice-assistedinject',
|
||||
'//lib/guice:guice-servlet',
|
||||
'//lib/jgit:jgit',
|
||||
'//lib/log:api',
|
||||
'//lib/prolog:prolog-cafe',
|
||||
],
|
||||
compile_deps = [
|
||||
'//lib/bouncycastle:bcpg',
|
||||
],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
prolog_cafe_library(
|
||||
name = 'common_rules',
|
||||
srcs = ['src/main/prolog/gerrit_common.pl'],
|
||||
deps = [':server'],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
java_test(
|
||||
name = 'server_tests',
|
||||
srcs = glob(['src/test/java/**/*.java']),
|
||||
resources = glob(['src/test/resources/**/*']),
|
||||
deps = [
|
||||
':server',
|
||||
':common_rules',
|
||||
'//lib:h2',
|
||||
'//lib:junit',
|
||||
'//lib:easymock',
|
||||
'//lib/jgit:junit',
|
||||
],
|
||||
source_under_test = [':server'],
|
||||
)
|
17
gerrit-sshd/BUCK
Normal file
17
gerrit-sshd/BUCK
Normal file
@ -0,0 +1,17 @@
|
||||
java_library2(
|
||||
name = 'sshd',
|
||||
srcs = glob(['src/main/java/**/*.java']),
|
||||
deps = [
|
||||
'//gerrit-cache-h2:cache-h2',
|
||||
'//gerrit-server:server',
|
||||
'//gerrit-util-cli:cli',
|
||||
'//lib/log:api',
|
||||
'//lib/log:log4j',
|
||||
'//lib/mina:core',
|
||||
'//lib/mina:sshd',
|
||||
],
|
||||
compile_deps = [
|
||||
'//lib/bouncycastle:bcprov',
|
||||
],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
11
gerrit-util-cli/BUCK
Normal file
11
gerrit-util-cli/BUCK
Normal file
@ -0,0 +1,11 @@
|
||||
java_library(
|
||||
name = 'cli',
|
||||
srcs = glob(['src/main/java/**/*.java']),
|
||||
deps = [
|
||||
'//lib:args4j',
|
||||
'//lib:guava',
|
||||
'//lib/guice:guice',
|
||||
'//lib/guice:guice-assistedinject',
|
||||
],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
5
gerrit-util-ssl/BUCK
Normal file
5
gerrit-util-ssl/BUCK
Normal file
@ -0,0 +1,5 @@
|
||||
java_library(
|
||||
name = 'ssl',
|
||||
srcs = glob(['src/main/java/**/*.java']),
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
40
gerrit-war/BUCK
Normal file
40
gerrit-war/BUCK
Normal file
@ -0,0 +1,40 @@
|
||||
java_library(
|
||||
name = 'init',
|
||||
srcs = glob(['src/main/java/**/*.java']),
|
||||
deps = [
|
||||
'//gerrit-server:common_rules',
|
||||
'//gerrit-server:server',
|
||||
'//gerrit-httpd:httpd',
|
||||
'//gerrit-sshd:sshd',
|
||||
'//gerrit-cache-h2:cache-h2',
|
||||
'//gerrit-openid:openid',
|
||||
],
|
||||
visibility = [
|
||||
'//:',
|
||||
'//gerrit-gwtdebug:gwtdebug',
|
||||
],
|
||||
)
|
||||
|
||||
genrule(
|
||||
name = 'webapp_assets',
|
||||
cmd = 'cd $(dirname $OUT)/webapp_assets__srcs/src/main/webapp && ' +
|
||||
'zip -qr $OUT .',
|
||||
srcs = glob(['src/main/webapp/**/*']),
|
||||
deps = [],
|
||||
out = 'webapp_assets.zip',
|
||||
visibility = ['//:'],
|
||||
)
|
||||
|
||||
genrule(
|
||||
name = 'log4j-config__jar',
|
||||
cmd = 'jar cf $OUT -C $(dirname $SRCS) .',
|
||||
srcs = ['src/main/resources/log4j.properties'],
|
||||
out = 'log4j-config.jar',
|
||||
)
|
||||
|
||||
prebuilt_jar(
|
||||
name = 'log4j-config',
|
||||
binary_jar = genfile('log4j-config.jar'),
|
||||
deps = [':log4j-config__jar'],
|
||||
visibility = ['//:'],
|
||||
)
|
249
lib/BUCK
Normal file
249
lib/BUCK
Normal file
@ -0,0 +1,249 @@
|
||||
include_defs('//lib/maven.defs')
|
||||
|
||||
define_license(name = 'Apache1.1')
|
||||
define_license(name = 'Apache2.0')
|
||||
define_license(name = 'MPL1.1')
|
||||
define_license(name = 'PublicDomain')
|
||||
define_license(name = 'antlr')
|
||||
define_license(name = 'args4j')
|
||||
define_license(name = 'automaton')
|
||||
define_license(name = 'bouncycastle')
|
||||
define_license(name = 'clippy')
|
||||
define_license(name = 'h2')
|
||||
define_license(name = 'jgit')
|
||||
define_license(name = 'jsch')
|
||||
define_license(name = 'jsr305')
|
||||
define_license(name = 'ow2')
|
||||
define_license(name = 'postgresql')
|
||||
define_license(name = 'prologcafe')
|
||||
define_license(name = 'slf4j')
|
||||
define_license(name = 'DO_NOT_DISTRIBUTE')
|
||||
|
||||
maven_jar(
|
||||
name = 'gwtorm',
|
||||
id = 'gwtorm:gwtorm:1.6',
|
||||
bin_sha1 = '61bcb92f438524260429149910b5261d48812419',
|
||||
src_sha1 = '2624f9d6a750a8aa8f9a5d4b5062b70cd12d1ae7',
|
||||
license = 'Apache2.0',
|
||||
repository = GERRIT,
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'gwtjsonrpc',
|
||||
id = 'gwtjsonrpc:gwtjsonrpc:1.3',
|
||||
bin_sha1 = '1717ba11ab0c5160798c80085220a63f864691d3',
|
||||
src_sha1 = '9e01c5d7bd54f8e70066450b372a43c16404789e',
|
||||
license = 'Apache2.0',
|
||||
repository = GERRIT,
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'gson',
|
||||
id = 'com.google.code.gson:gson:2.1',
|
||||
sha1 = '2e66da15851f9f5b5079228f856c2f090ba98c38',
|
||||
license = 'Apache2.0',
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'guava',
|
||||
id = 'com.google.guava:guava:14.0',
|
||||
sha1 = '67b7be4ee7ba48e4828a42d6d5069761186d4a53',
|
||||
license = 'Apache2.0',
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'asm3',
|
||||
id = 'asm:asm:3.2',
|
||||
sha1 = '9bc1511dec6adf302991ced13303e4140fdf9ab7',
|
||||
license = 'ow2',
|
||||
attach_source = False,
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'ow2-asm',
|
||||
id = 'org.ow2.asm:asm:4.0',
|
||||
sha1 = '659add6efc75a4715d738e73f07505246edf4d66',
|
||||
license = 'ow2',
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'ow2-asm-analysis',
|
||||
id = 'org.ow2.asm:asm-analysis:4.0',
|
||||
sha1 = '1c45d52b6f6c638db13cf3ac12adeb56b254cdd7',
|
||||
license = 'ow2',
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'ow2-asm-tree',
|
||||
id = 'org.ow2.asm:asm-tree:4.0',
|
||||
sha1 = '67bd266cd17adcee486b76952ece4cc85fe248b8',
|
||||
license = 'ow2',
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'ow2-asm-util',
|
||||
id = 'org.ow2.asm:asm-util:4.0',
|
||||
sha1 = 'd7a65f54cda284f9706a750c23d64830bb740c39',
|
||||
license = 'ow2',
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'velocity',
|
||||
id = 'org.apache.velocity:velocity:1.6.4',
|
||||
sha1 = 'fcc58693dd8fc83d714fba149789be37cc19b66d',
|
||||
license = 'Apache2.0',
|
||||
deps = [
|
||||
'//lib/commons:collections',
|
||||
'//lib/commons:lang',
|
||||
'//lib/commons:oro',
|
||||
],
|
||||
exclude = ['META-INF/LICENSE', 'META-INF/NOTICE'],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'jsch',
|
||||
id = 'com.jcraft:jsch:0.1.44-1',
|
||||
sha1 = '2e9ae08de5a71bd0e0d3ba2558598181bfa71d4e',
|
||||
license = 'jsch',
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'servlet-api-3_0',
|
||||
id = 'org.apache.tomcat:tomcat-servlet-api:7.0.32',
|
||||
sha1 = 'e2f21e9868414122e6dd23ac66cf304d4290642c',
|
||||
license = 'Apache2.0',
|
||||
exclude = ['META-INF/NOTICE', 'META-INF/LICENSE'],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'jsr305',
|
||||
id = 'com.google.code.findbugs:jsr305:1.3.9',
|
||||
sha1 = '40719ea6961c0cb6afaeb6a921eaa1f6afd4cfdf',
|
||||
license = 'jsr305',
|
||||
attach_source = False,
|
||||
exclude_java_sources = True,
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'args4j',
|
||||
id = 'args4j:args4j:2.0.16',
|
||||
sha1 = '9f00fb12820743b9e05c686eba543d64dd43f2b1',
|
||||
license = 'args4j',
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'mime-util',
|
||||
id = 'eu.medsea.mimeutil:mime-util:2.1.3',
|
||||
sha1 = '0c9cfae15c74f62491d4f28def0dff1dabe52a47',
|
||||
license = 'Apache2.0',
|
||||
exclude = ['LICENSE.txt', 'README.txt'],
|
||||
attach_source = False,
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'juniversalchardet',
|
||||
id = 'com.googlecode.juniversalchardet:juniversalchardet:1.0.3',
|
||||
sha1 = 'cd49678784c46aa8789c060538e0154013bb421b',
|
||||
license = 'MPL1.1',
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'automaton',
|
||||
id = 'dk.brics.automaton:automaton:1.11-8',
|
||||
sha1 = '6ebfa65eb431ff4b715a23be7a750cbc4cc96d0f',
|
||||
license = 'automaton',
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'pegdown',
|
||||
id = 'org.pegdown:pegdown:1.1.0',
|
||||
sha1 = '00bcc0c5b025b09ab85bb80a8311ce5c015d005b',
|
||||
license = 'Apache2.0',
|
||||
deps = [':parboiled-java'],
|
||||
exclude = ['META-INF/LICENSE', 'META-INF/NOTICE'],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'parboiled-core',
|
||||
id = 'org.parboiled:parboiled-core:1.1.3',
|
||||
sha1 = '3fc3013adf98701efcc594a1ea99a3f841dc81bb',
|
||||
license = 'Apache2.0',
|
||||
attach_source = False,
|
||||
visibility = [],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'parboiled-java',
|
||||
id = 'org.parboiled:parboiled-java:1.1.3',
|
||||
sha1 = 'c2bf2935a8b3eca5f998557190cd6eb34f5536d0',
|
||||
license = 'Apache2.0',
|
||||
deps = [
|
||||
':parboiled-core',
|
||||
':ow2-asm-tree',
|
||||
':ow2-asm-analysis',
|
||||
':ow2-asm-util',
|
||||
],
|
||||
attach_source = False,
|
||||
visibility = [],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'h2',
|
||||
id = 'com.h2database:h2:1.3.168',
|
||||
sha1 = 'eb32936a239d95220f5b2d2973a7b17372f98b54',
|
||||
license = 'h2',
|
||||
attach_source = False,
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'postgresql',
|
||||
id = 'postgresql:postgresql:9.1-901-1.jdbc4',
|
||||
sha1 = '9bfabe48876ec38f6cbaa6931bad05c64a9ea942',
|
||||
license = 'postgresql',
|
||||
attach_source = False,
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'junit',
|
||||
id = 'junit:junit:4.11',
|
||||
sha1 = '4e031bb61df09069aeb2bffb4019e7a5034a4ee0',
|
||||
license = 'DO_NOT_DISTRIBUTE',
|
||||
deps = [':hamcrest-core'],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'hamcrest-core',
|
||||
id = 'org.hamcrest:hamcrest-core:1.3',
|
||||
sha1 = '42a25dc3219429f0e5d060061f71acb49bf010a0',
|
||||
license = 'DO_NOT_DISTRIBUTE',
|
||||
visibility = ['//lib:junit'],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'easymock',
|
||||
id = 'org.easymock:easymock:3.1',
|
||||
sha1 = '3e127311a86fc2e8f550ef8ee4abe094bbcf7e7e',
|
||||
license = 'DO_NOT_DISTRIBUTE',
|
||||
deps = [
|
||||
':cglib-2_2',
|
||||
':objenesis',
|
||||
],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'cglib-2_2',
|
||||
id = 'cglib:cglib-nodep:2.2.2',
|
||||
sha1 = '00d456bb230c70c0b95c76fb28e429d42f275941',
|
||||
license = 'DO_NOT_DISTRIBUTE',
|
||||
visibility = ['//lib:easymock'],
|
||||
attach_source = False,
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'objenesis',
|
||||
id = 'org.objenesis:objenesis:1.2',
|
||||
sha1 = 'bfcb0539a071a4c5a30690388903ac48c0667f2a',
|
||||
license = 'DO_NOT_DISTRIBUTE',
|
||||
visibility = ['//lib:easymock'],
|
||||
attach_source = False,
|
||||
)
|
158
lib/DEFS
Normal file
158
lib/DEFS
Normal file
@ -0,0 +1,158 @@
|
||||
# Copyright (C) 2013 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
def genantlr(
|
||||
name,
|
||||
srcs,
|
||||
outs):
|
||||
genrule(
|
||||
name = name,
|
||||
srcs = srcs,
|
||||
cmd = '${//lib/antlr:antlr-tool} -o $(dirname $OUT) $SRCS',
|
||||
deps = ['//lib/antlr:antlr-tool'],
|
||||
out = outs[0],
|
||||
)
|
||||
|
||||
def gwt_module(
|
||||
name,
|
||||
srcs,
|
||||
gwtxml = None,
|
||||
resources = [],
|
||||
deps = [],
|
||||
visibility = []):
|
||||
if gwtxml:
|
||||
resources = resources + [gwtxml]
|
||||
resources = resources + srcs
|
||||
java_library(
|
||||
name = name,
|
||||
srcs = srcs,
|
||||
deps = deps,
|
||||
resources = resources,
|
||||
visibility = visibility,
|
||||
)
|
||||
|
||||
def gwt_application(
|
||||
name,
|
||||
module_target,
|
||||
compiler_opts = [],
|
||||
compiler_jvm_flags = [],
|
||||
deps = [],
|
||||
visibility = []):
|
||||
cmd = ['${//lib/gwt:compiler}', module_target, '$OUT']
|
||||
cmd += compiler_opts + ['--', '$DEPS']
|
||||
genrule(
|
||||
name = name,
|
||||
srcs = [],
|
||||
cmd = ' '.join(cmd),
|
||||
deps = [
|
||||
'//lib/gwt:compiler',
|
||||
'//lib/gwt:dev',
|
||||
] + deps,
|
||||
out = '%s.zip' % name,
|
||||
visibility = visibility,
|
||||
)
|
||||
|
||||
# Compiles a Java library with additional compile-time dependencies
|
||||
# that do not show up as transitive dependencies to java_library()
|
||||
# or java_binary() rule that depends on this library.
|
||||
def java_library2(
|
||||
name,
|
||||
srcs = [],
|
||||
resources = [],
|
||||
deps = [],
|
||||
compile_deps = [],
|
||||
visibility = []):
|
||||
c = name + '__compile'
|
||||
t = name + '__link'
|
||||
j = 'lib__%s__output/%s.jar' % (c, c)
|
||||
o = 'lib__%s__output/%s.jar' % (name, name)
|
||||
java_library(
|
||||
name = c,
|
||||
srcs = srcs,
|
||||
resources = resources,
|
||||
deps = deps + compile_deps,
|
||||
visibility = ['//:eclipse_classpath'],
|
||||
)
|
||||
# Break the dependency chain by passing the newly built
|
||||
# JAR to consumers through a prebuilt_jar().
|
||||
genrule(
|
||||
name = t,
|
||||
cmd = 'mkdir -p $(dirname $OUT);ln -s $SRCS $OUT',
|
||||
srcs = [genfile(j)],
|
||||
deps = [':' + c],
|
||||
out = o,
|
||||
)
|
||||
prebuilt_jar(
|
||||
name = name,
|
||||
binary_jar = genfile(o),
|
||||
deps = deps + [':' + t],
|
||||
visibility = visibility,
|
||||
)
|
||||
|
||||
def gerrit_extension(
|
||||
name,
|
||||
deps = [],
|
||||
srcs = [],
|
||||
resources = [],
|
||||
manifest_file = None,
|
||||
visibility = ['PUBLIC']):
|
||||
gerrit_plugin(
|
||||
name = name,
|
||||
deps = deps,
|
||||
srcs = srcs,
|
||||
resources = resources,
|
||||
manifest_file = manifest_file,
|
||||
type = 'extension',
|
||||
visibility = visibility,
|
||||
)
|
||||
|
||||
def gerrit_plugin(
|
||||
name,
|
||||
deps = [],
|
||||
srcs = [],
|
||||
resources = [],
|
||||
manifest_file = None,
|
||||
type = 'plugin',
|
||||
visibility = ['PUBLIC']):
|
||||
mf_cmd = 'v=$(git describe HEAD);'
|
||||
if manifest_file:
|
||||
mf_src = [manifest_file]
|
||||
mf_cmd += 'sed "s:@VERSION@:$v:g" $SRCS >$OUT'
|
||||
else:
|
||||
mf_src = []
|
||||
mf_cmd += 'echo "Manifest-Version: 1.0" >$OUT;'
|
||||
mf_cmd += 'echo "Gerrit-ApiType: %s" >>$OUT;' % type
|
||||
mf_cmd += 'echo "Implementation-Version: $v" >>$OUT'
|
||||
genrule(
|
||||
name = name + '__manifest',
|
||||
cmd = mf_cmd,
|
||||
srcs = mf_src,
|
||||
out = 'MANIFEST.MF',
|
||||
)
|
||||
java_library2(
|
||||
name = name + '__plugin',
|
||||
srcs = srcs,
|
||||
resources = resources,
|
||||
deps = deps,
|
||||
compile_deps = ['//:%s-lib' % type],
|
||||
)
|
||||
java_binary(
|
||||
name = name,
|
||||
manifest_file = genfile('MANIFEST.MF'),
|
||||
deps = [
|
||||
':%s__plugin' % name,
|
||||
':%s__manifest' % name,
|
||||
],
|
||||
visibility = visibility,
|
||||
)
|
51
lib/LICENSE-Apache1.1
Normal file
51
lib/LICENSE-Apache1.1
Normal file
@ -0,0 +1,51 @@
|
||||
The Apache Software License, Version 1.1
|
||||
|
||||
Copyright (c) 2000-2002 The Apache Software Foundation. All rights
|
||||
reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in
|
||||
the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
|
||||
3. The end-user documentation included with the redistribution,
|
||||
if any, must include the following acknowledgment:
|
||||
"This product includes software developed by the
|
||||
Apache Software Foundation (http://www.apache.org/)."
|
||||
Alternately, this acknowledgment may appear in the software itself,
|
||||
if and wherever such third-party acknowledgments normally appear.
|
||||
|
||||
4. The names "Apache" and "Apache Software Foundation", "Jakarta-Oro"
|
||||
must not be used to endorse or promote products derived from this
|
||||
software without prior written permission. For written
|
||||
permission, please contact apache@apache.org.
|
||||
|
||||
5. Products derived from this software may not be called "Apache"
|
||||
or "Jakarta-Oro", nor may "Apache" or "Jakarta-Oro" appear in their
|
||||
name, without prior written permission of the Apache Software Foundation.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
====================================================================
|
||||
|
||||
This software consists of voluntary contributions made by many
|
||||
individuals on behalf of the Apache Software Foundation. For more
|
||||
information on the Apache Software Foundation, please see
|
||||
<http://www.apache.org/>.
|
202
lib/LICENSE-Apache2.0
Normal file
202
lib/LICENSE-Apache2.0
Normal file
@ -0,0 +1,202 @@
|
||||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
0
lib/LICENSE-DO_NOT_DISTRIBUTE
Normal file
0
lib/LICENSE-DO_NOT_DISTRIBUTE
Normal file
469
lib/LICENSE-MPL1.1
Normal file
469
lib/LICENSE-MPL1.1
Normal file
@ -0,0 +1,469 @@
|
||||
MOZILLA PUBLIC LICENSE
|
||||
Version 1.1
|
||||
|
||||
---------------
|
||||
|
||||
1. Definitions.
|
||||
|
||||
1.0.1. "Commercial Use" means distribution or otherwise making the
|
||||
Covered Code available to a third party.
|
||||
|
||||
1.1. "Contributor" means each entity that creates or contributes to
|
||||
the creation of Modifications.
|
||||
|
||||
1.2. "Contributor Version" means the combination of the Original
|
||||
Code, prior Modifications used by a Contributor, and the Modifications
|
||||
made by that particular Contributor.
|
||||
|
||||
1.3. "Covered Code" means the Original Code or Modifications or the
|
||||
combination of the Original Code and Modifications, in each case
|
||||
including portions thereof.
|
||||
|
||||
1.4. "Electronic Distribution Mechanism" means a mechanism generally
|
||||
accepted in the software development community for the electronic
|
||||
transfer of data.
|
||||
|
||||
1.5. "Executable" means Covered Code in any form other than Source
|
||||
Code.
|
||||
|
||||
1.6. "Initial Developer" means the individual or entity identified
|
||||
as the Initial Developer in the Source Code notice required by Exhibit
|
||||
A.
|
||||
|
||||
1.7. "Larger Work" means a work which combines Covered Code or
|
||||
portions thereof with code not governed by the terms of this License.
|
||||
|
||||
1.8. "License" means this document.
|
||||
|
||||
1.8.1. "Licensable" means having the right to grant, to the maximum
|
||||
extent possible, whether at the time of the initial grant or
|
||||
subsequently acquired, any and all of the rights conveyed herein.
|
||||
|
||||
1.9. "Modifications" means any addition to or deletion from the
|
||||
substance or structure of either the Original Code or any previous
|
||||
Modifications. When Covered Code is released as a series of files, a
|
||||
Modification is:
|
||||
A. Any addition to or deletion from the contents of a file
|
||||
containing Original Code or previous Modifications.
|
||||
|
||||
B. Any new file that contains any part of the Original Code or
|
||||
previous Modifications.
|
||||
|
||||
1.10. "Original Code" means Source Code of computer software code
|
||||
which is described in the Source Code notice required by Exhibit A as
|
||||
Original Code, and which, at the time of its release under this
|
||||
License is not already Covered Code governed by this License.
|
||||
|
||||
1.10.1. "Patent Claims" means any patent claim(s), now owned or
|
||||
hereafter acquired, including without limitation, method, process,
|
||||
and apparatus claims, in any patent Licensable by grantor.
|
||||
|
||||
1.11. "Source Code" means the preferred form of the Covered Code for
|
||||
making modifications to it, including all modules it contains, plus
|
||||
any associated interface definition files, scripts used to control
|
||||
compilation and installation of an Executable, or source code
|
||||
differential comparisons against either the Original Code or another
|
||||
well known, available Covered Code of the Contributor's choice. The
|
||||
Source Code can be in a compressed or archival form, provided the
|
||||
appropriate decompression or de-archiving software is widely available
|
||||
for no charge.
|
||||
|
||||
1.12. "You" (or "Your") means an individual or a legal entity
|
||||
exercising rights under, and complying with all of the terms of, this
|
||||
License or a future version of this License issued under Section 6.1.
|
||||
For legal entities, "You" includes any entity which controls, is
|
||||
controlled by, or is under common control with You. For purposes of
|
||||
this definition, "control" means (a) the power, direct or indirect,
|
||||
to cause the direction or management of such entity, whether by
|
||||
contract or otherwise, or (b) ownership of more than fifty percent
|
||||
(50%) of the outstanding shares or beneficial ownership of such
|
||||
entity.
|
||||
|
||||
2. Source Code License.
|
||||
|
||||
2.1. The Initial Developer Grant.
|
||||
The Initial Developer hereby grants You a world-wide, royalty-free,
|
||||
non-exclusive license, subject to third party intellectual property
|
||||
claims:
|
||||
(a) under intellectual property rights (other than patent or
|
||||
trademark) Licensable by Initial Developer to use, reproduce,
|
||||
modify, display, perform, sublicense and distribute the Original
|
||||
Code (or portions thereof) with or without Modifications, and/or
|
||||
as part of a Larger Work; and
|
||||
|
||||
(b) under Patents Claims infringed by the making, using or
|
||||
selling of Original Code, to make, have made, use, practice,
|
||||
sell, and offer for sale, and/or otherwise dispose of the
|
||||
Original Code (or portions thereof).
|
||||
|
||||
(c) the licenses granted in this Section 2.1(a) and (b) are
|
||||
effective on the date Initial Developer first distributes
|
||||
Original Code under the terms of this License.
|
||||
|
||||
(d) Notwithstanding Section 2.1(b) above, no patent license is
|
||||
granted: 1) for code that You delete from the Original Code; 2)
|
||||
separate from the Original Code; or 3) for infringements caused
|
||||
by: i) the modification of the Original Code or ii) the
|
||||
combination of the Original Code with other software or devices.
|
||||
|
||||
2.2. Contributor Grant.
|
||||
Subject to third party intellectual property claims, each Contributor
|
||||
hereby grants You a world-wide, royalty-free, non-exclusive license
|
||||
|
||||
(a) under intellectual property rights (other than patent or
|
||||
trademark) Licensable by Contributor, to use, reproduce, modify,
|
||||
display, perform, sublicense and distribute the Modifications
|
||||
created by such Contributor (or portions thereof) either on an
|
||||
unmodified basis, with other Modifications, as Covered Code
|
||||
and/or as part of a Larger Work; and
|
||||
|
||||
(b) under Patent Claims infringed by the making, using, or
|
||||
selling of Modifications made by that Contributor either alone
|
||||
and/or in combination with its Contributor Version (or portions
|
||||
of such combination), to make, use, sell, offer for sale, have
|
||||
made, and/or otherwise dispose of: 1) Modifications made by that
|
||||
Contributor (or portions thereof); and 2) the combination of
|
||||
Modifications made by that Contributor with its Contributor
|
||||
Version (or portions of such combination).
|
||||
|
||||
(c) the licenses granted in Sections 2.2(a) and 2.2(b) are
|
||||
effective on the date Contributor first makes Commercial Use of
|
||||
the Covered Code.
|
||||
|
||||
(d) Notwithstanding Section 2.2(b) above, no patent license is
|
||||
granted: 1) for any code that Contributor has deleted from the
|
||||
Contributor Version; 2) separate from the Contributor Version;
|
||||
3) for infringements caused by: i) third party modifications of
|
||||
Contributor Version or ii) the combination of Modifications made
|
||||
by that Contributor with other software (except as part of the
|
||||
Contributor Version) or other devices; or 4) under Patent Claims
|
||||
infringed by Covered Code in the absence of Modifications made by
|
||||
that Contributor.
|
||||
|
||||
3. Distribution Obligations.
|
||||
|
||||
3.1. Application of License.
|
||||
The Modifications which You create or to which You contribute are
|
||||
governed by the terms of this License, including without limitation
|
||||
Section 2.2. The Source Code version of Covered Code may be
|
||||
distributed only under the terms of this License or a future version
|
||||
of this License released under Section 6.1, and You must include a
|
||||
copy of this License with every copy of the Source Code You
|
||||
distribute. You may not offer or impose any terms on any Source Code
|
||||
version that alters or restricts the applicable version of this
|
||||
License or the recipients' rights hereunder. However, You may include
|
||||
an additional document offering the additional rights described in
|
||||
Section 3.5.
|
||||
|
||||
3.2. Availability of Source Code.
|
||||
Any Modification which You create or to which You contribute must be
|
||||
made available in Source Code form under the terms of this License
|
||||
either on the same media as an Executable version or via an accepted
|
||||
Electronic Distribution Mechanism to anyone to whom you made an
|
||||
Executable version available; and if made available via Electronic
|
||||
Distribution Mechanism, must remain available for at least twelve (12)
|
||||
months after the date it initially became available, or at least six
|
||||
(6) months after a subsequent version of that particular Modification
|
||||
has been made available to such recipients. You are responsible for
|
||||
ensuring that the Source Code version remains available even if the
|
||||
Electronic Distribution Mechanism is maintained by a third party.
|
||||
|
||||
3.3. Description of Modifications.
|
||||
You must cause all Covered Code to which You contribute to contain a
|
||||
file documenting the changes You made to create that Covered Code and
|
||||
the date of any change. You must include a prominent statement that
|
||||
the Modification is derived, directly or indirectly, from Original
|
||||
Code provided by the Initial Developer and including the name of the
|
||||
Initial Developer in (a) the Source Code, and (b) in any notice in an
|
||||
Executable version or related documentation in which You describe the
|
||||
origin or ownership of the Covered Code.
|
||||
|
||||
3.4. Intellectual Property Matters
|
||||
(a) Third Party Claims.
|
||||
If Contributor has knowledge that a license under a third party's
|
||||
intellectual property rights is required to exercise the rights
|
||||
granted by such Contributor under Sections 2.1 or 2.2,
|
||||
Contributor must include a text file with the Source Code
|
||||
distribution titled "LEGAL" which describes the claim and the
|
||||
party making the claim in sufficient detail that a recipient will
|
||||
know whom to contact. If Contributor obtains such knowledge after
|
||||
the Modification is made available as described in Section 3.2,
|
||||
Contributor shall promptly modify the LEGAL file in all copies
|
||||
Contributor makes available thereafter and shall take other steps
|
||||
(such as notifying appropriate mailing lists or newsgroups)
|
||||
reasonably calculated to inform those who received the Covered
|
||||
Code that new knowledge has been obtained.
|
||||
|
||||
(b) Contributor APIs.
|
||||
If Contributor's Modifications include an application programming
|
||||
interface and Contributor has knowledge of patent licenses which
|
||||
are reasonably necessary to implement that API, Contributor must
|
||||
also include this information in the LEGAL file.
|
||||
|
||||
(c) Representations.
|
||||
Contributor represents that, except as disclosed pursuant to
|
||||
Section 3.4(a) above, Contributor believes that Contributor's
|
||||
Modifications are Contributor's original creation(s) and/or
|
||||
Contributor has sufficient rights to grant the rights conveyed by
|
||||
this License.
|
||||
|
||||
3.5. Required Notices.
|
||||
You must duplicate the notice in Exhibit A in each file of the Source
|
||||
Code. If it is not possible to put such notice in a particular Source
|
||||
Code file due to its structure, then You must include such notice in a
|
||||
location (such as a relevant directory) where a user would be likely
|
||||
to look for such a notice. If You created one or more Modification(s)
|
||||
You may add your name as a Contributor to the notice described in
|
||||
Exhibit A. You must also duplicate this License in any documentation
|
||||
for the Source Code where You describe recipients' rights or ownership
|
||||
rights relating to Covered Code. You may choose to offer, and to
|
||||
charge a fee for, warranty, support, indemnity or liability
|
||||
obligations to one or more recipients of Covered Code. However, You
|
||||
may do so only on Your own behalf, and not on behalf of the Initial
|
||||
Developer or any Contributor. You must make it absolutely clear than
|
||||
any such warranty, support, indemnity or liability obligation is
|
||||
offered by You alone, and You hereby agree to indemnify the Initial
|
||||
Developer and every Contributor for any liability incurred by the
|
||||
Initial Developer or such Contributor as a result of warranty,
|
||||
support, indemnity or liability terms You offer.
|
||||
|
||||
3.6. Distribution of Executable Versions.
|
||||
You may distribute Covered Code in Executable form only if the
|
||||
requirements of Section 3.1-3.5 have been met for that Covered Code,
|
||||
and if You include a notice stating that the Source Code version of
|
||||
the Covered Code is available under the terms of this License,
|
||||
including a description of how and where You have fulfilled the
|
||||
obligations of Section 3.2. The notice must be conspicuously included
|
||||
in any notice in an Executable version, related documentation or
|
||||
collateral in which You describe recipients' rights relating to the
|
||||
Covered Code. You may distribute the Executable version of Covered
|
||||
Code or ownership rights under a license of Your choice, which may
|
||||
contain terms different from this License, provided that You are in
|
||||
compliance with the terms of this License and that the license for the
|
||||
Executable version does not attempt to limit or alter the recipient's
|
||||
rights in the Source Code version from the rights set forth in this
|
||||
License. If You distribute the Executable version under a different
|
||||
license You must make it absolutely clear that any terms which differ
|
||||
from this License are offered by You alone, not by the Initial
|
||||
Developer or any Contributor. You hereby agree to indemnify the
|
||||
Initial Developer and every Contributor for any liability incurred by
|
||||
the Initial Developer or such Contributor as a result of any such
|
||||
terms You offer.
|
||||
|
||||
3.7. Larger Works.
|
||||
You may create a Larger Work by combining Covered Code with other code
|
||||
not governed by the terms of this License and distribute the Larger
|
||||
Work as a single product. In such a case, You must make sure the
|
||||
requirements of this License are fulfilled for the Covered Code.
|
||||
|
||||
4. Inability to Comply Due to Statute or Regulation.
|
||||
|
||||
If it is impossible for You to comply with any of the terms of this
|
||||
License with respect to some or all of the Covered Code due to
|
||||
statute, judicial order, or regulation then You must: (a) comply with
|
||||
the terms of this License to the maximum extent possible; and (b)
|
||||
describe the limitations and the code they affect. Such description
|
||||
must be included in the LEGAL file described in Section 3.4 and must
|
||||
be included with all distributions of the Source Code. Except to the
|
||||
extent prohibited by statute or regulation, such description must be
|
||||
sufficiently detailed for a recipient of ordinary skill to be able to
|
||||
understand it.
|
||||
|
||||
5. Application of this License.
|
||||
|
||||
This License applies to code to which the Initial Developer has
|
||||
attached the notice in Exhibit A and to related Covered Code.
|
||||
|
||||
6. Versions of the License.
|
||||
|
||||
6.1. New Versions.
|
||||
Netscape Communications Corporation ("Netscape") may publish revised
|
||||
and/or new versions of the License from time to time. Each version
|
||||
will be given a distinguishing version number.
|
||||
|
||||
6.2. Effect of New Versions.
|
||||
Once Covered Code has been published under a particular version of the
|
||||
License, You may always continue to use it under the terms of that
|
||||
version. You may also choose to use such Covered Code under the terms
|
||||
of any subsequent version of the License published by Netscape. No one
|
||||
other than Netscape has the right to modify the terms applicable to
|
||||
Covered Code created under this License.
|
||||
|
||||
6.3. Derivative Works.
|
||||
If You create or use a modified version of this License (which you may
|
||||
only do in order to apply it to code which is not already Covered Code
|
||||
governed by this License), You must (a) rename Your license so that
|
||||
the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape",
|
||||
"MPL", "NPL" or any confusingly similar phrase do not appear in your
|
||||
license (except to note that your license differs from this License)
|
||||
and (b) otherwise make it clear that Your version of the license
|
||||
contains terms which differ from the Mozilla Public License and
|
||||
Netscape Public License. (Filling in the name of the Initial
|
||||
Developer, Original Code or Contributor in the notice described in
|
||||
Exhibit A shall not of themselves be deemed to be modifications of
|
||||
this License.)
|
||||
|
||||
7. DISCLAIMER OF WARRANTY.
|
||||
|
||||
COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
|
||||
WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF
|
||||
DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
|
||||
THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE
|
||||
IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT,
|
||||
YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE
|
||||
COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER
|
||||
OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
|
||||
ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
|
||||
|
||||
8. TERMINATION.
|
||||
|
||||
8.1. This License and the rights granted hereunder will terminate
|
||||
automatically if You fail to comply with terms herein and fail to cure
|
||||
such breach within 30 days of becoming aware of the breach. All
|
||||
sublicenses to the Covered Code which are properly granted shall
|
||||
survive any termination of this License. Provisions which, by their
|
||||
nature, must remain in effect beyond the termination of this License
|
||||
shall survive.
|
||||
|
||||
8.2. If You initiate litigation by asserting a patent infringement
|
||||
claim (excluding declatory judgment actions) against Initial Developer
|
||||
or a Contributor (the Initial Developer or Contributor against whom
|
||||
You file such action is referred to as "Participant") alleging that:
|
||||
|
||||
(a) such Participant's Contributor Version directly or indirectly
|
||||
infringes any patent, then any and all rights granted by such
|
||||
Participant to You under Sections 2.1 and/or 2.2 of this License
|
||||
shall, upon 60 days notice from Participant terminate prospectively,
|
||||
unless if within 60 days after receipt of notice You either: (i)
|
||||
agree in writing to pay Participant a mutually agreeable reasonable
|
||||
royalty for Your past and future use of Modifications made by such
|
||||
Participant, or (ii) withdraw Your litigation claim with respect to
|
||||
the Contributor Version against such Participant. If within 60 days
|
||||
of notice, a reasonable royalty and payment arrangement are not
|
||||
mutually agreed upon in writing by the parties or the litigation claim
|
||||
is not withdrawn, the rights granted by Participant to You under
|
||||
Sections 2.1 and/or 2.2 automatically terminate at the expiration of
|
||||
the 60 day notice period specified above.
|
||||
|
||||
(b) any software, hardware, or device, other than such Participant's
|
||||
Contributor Version, directly or indirectly infringes any patent, then
|
||||
any rights granted to You by such Participant under Sections 2.1(b)
|
||||
and 2.2(b) are revoked effective as of the date You first made, used,
|
||||
sold, distributed, or had made, Modifications made by that
|
||||
Participant.
|
||||
|
||||
8.3. If You assert a patent infringement claim against Participant
|
||||
alleging that such Participant's Contributor Version directly or
|
||||
indirectly infringes any patent where such claim is resolved (such as
|
||||
by license or settlement) prior to the initiation of patent
|
||||
infringement litigation, then the reasonable value of the licenses
|
||||
granted by such Participant under Sections 2.1 or 2.2 shall be taken
|
||||
into account in determining the amount or value of any payment or
|
||||
license.
|
||||
|
||||
8.4. In the event of termination under Sections 8.1 or 8.2 above,
|
||||
all end user license agreements (excluding distributors and resellers)
|
||||
which have been validly granted by You or any distributor hereunder
|
||||
prior to termination shall survive termination.
|
||||
|
||||
9. LIMITATION OF LIABILITY.
|
||||
|
||||
UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
|
||||
(INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
|
||||
DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE,
|
||||
OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR
|
||||
ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY
|
||||
CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL,
|
||||
WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
|
||||
COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
|
||||
INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
|
||||
LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
|
||||
RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
|
||||
PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
|
||||
EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO
|
||||
THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
|
||||
|
||||
10. U.S. GOVERNMENT END USERS.
|
||||
|
||||
The Covered Code is a "commercial item," as that term is defined in
|
||||
48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer
|
||||
software" and "commercial computer software documentation," as such
|
||||
terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48
|
||||
C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995),
|
||||
all U.S. Government End Users acquire Covered Code with only those
|
||||
rights set forth herein.
|
||||
|
||||
11. MISCELLANEOUS.
|
||||
|
||||
This License represents the complete agreement concerning subject
|
||||
matter hereof. If any provision of this License is held to be
|
||||
unenforceable, such provision shall be reformed only to the extent
|
||||
necessary to make it enforceable. This License shall be governed by
|
||||
California law provisions (except to the extent applicable law, if
|
||||
any, provides otherwise), excluding its conflict-of-law provisions.
|
||||
With respect to disputes in which at least one party is a citizen of,
|
||||
or an entity chartered or registered to do business in the United
|
||||
States of America, any litigation relating to this License shall be
|
||||
subject to the jurisdiction of the Federal Courts of the Northern
|
||||
District of California, with venue lying in Santa Clara County,
|
||||
California, with the losing party responsible for costs, including
|
||||
without limitation, court costs and reasonable attorneys' fees and
|
||||
expenses. The application of the United Nations Convention on
|
||||
Contracts for the International Sale of Goods is expressly excluded.
|
||||
Any law or regulation which provides that the language of a contract
|
||||
shall be construed against the drafter shall not apply to this
|
||||
License.
|
||||
|
||||
12. RESPONSIBILITY FOR CLAIMS.
|
||||
|
||||
As between Initial Developer and the Contributors, each party is
|
||||
responsible for claims and damages arising, directly or indirectly,
|
||||
out of its utilization of rights under this License and You agree to
|
||||
work with Initial Developer and Contributors to distribute such
|
||||
responsibility on an equitable basis. Nothing herein is intended or
|
||||
shall be deemed to constitute any admission of liability.
|
||||
|
||||
13. MULTIPLE-LICENSED CODE.
|
||||
|
||||
Initial Developer may designate portions of the Covered Code as
|
||||
"Multiple-Licensed". "Multiple-Licensed" means that the Initial
|
||||
Developer permits you to utilize portions of the Covered Code under
|
||||
Your choice of the NPL or the alternative licenses, if any, specified
|
||||
by the Initial Developer in the file described in Exhibit A.
|
||||
|
||||
EXHIBIT A -Mozilla Public License.
|
||||
|
||||
``The contents of this file are subject to the Mozilla Public License
|
||||
Version 1.1 (the "License"); you may not use this file except in
|
||||
compliance with the License. You may obtain a copy of the License at
|
||||
http://www.mozilla.org/MPL/
|
||||
|
||||
Software distributed under the License is distributed on an "AS IS"
|
||||
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
|
||||
License for the specific language governing rights and limitations
|
||||
under the License.
|
||||
|
||||
The Original Code is ______________________________________.
|
||||
|
||||
The Initial Developer of the Original Code is ________________________.
|
||||
Portions created by ______________________ are Copyright (C) ______
|
||||
_______________________. All Rights Reserved.
|
||||
|
||||
Contributor(s): ______________________________________.
|
||||
|
||||
Alternatively, the contents of this file may be used under the terms
|
||||
of the _____ license (the "[___] License"), in which case the
|
||||
provisions of [______] License are applicable instead of those
|
||||
above. If you wish to allow use of your version of this file only
|
||||
under the terms of the [____] License and not to allow others to use
|
||||
your version of this file under the MPL, indicate your decision by
|
||||
deleting the provisions above and replace them with the notice and
|
||||
other provisions required by the [___] License. If you do not delete
|
||||
the provisions above, a recipient may use your version of this file
|
||||
under either the MPL or the [___] License."
|
||||
|
||||
[NOTE: The text of this Exhibit A may differ slightly from the text of
|
||||
the notices in the Source Code files of the Original Code. You should
|
||||
use the text of this Exhibit A rather than the text found in the
|
||||
Original Code Source Code for Your Modifications.]
|
1
lib/LICENSE-PublicDomain
Normal file
1
lib/LICENSE-PublicDomain
Normal file
@ -0,0 +1 @@
|
||||
This software has been placed in the public domain by its author(s).
|
29
lib/LICENSE-antlr
Normal file
29
lib/LICENSE-antlr
Normal file
@ -0,0 +1,29 @@
|
||||
Copyright (c) 2003-2008, Terence Parr
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above
|
||||
copyright notice, this list of conditions and the following
|
||||
disclaimer in the documentation and/or other materials provided
|
||||
with the distribution.
|
||||
* Neither the name of the author nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
32
lib/LICENSE-args4j
Normal file
32
lib/LICENSE-args4j
Normal file
@ -0,0 +1,32 @@
|
||||
Copyright (c) 2003, Kohsuke Kawaguchi
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms,
|
||||
with or without modification, are permitted provided
|
||||
that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain
|
||||
the above copyright notice, this list of
|
||||
conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce
|
||||
the above copyright notice, this list of
|
||||
conditions and the following disclaimer in
|
||||
the documentation and/or other materials
|
||||
provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
|
||||
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
|
||||
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
|
||||
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
||||
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
||||
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||
THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||
THE POSSIBILITY OF SUCH DAMAGE.
|
28
lib/LICENSE-automaton
Normal file
28
lib/LICENSE-automaton
Normal file
@ -0,0 +1,28 @@
|
||||
Copyright (c) 2007-2009, dk.brics.automaton
|
||||
All rights reserved.
|
||||
|
||||
http://www.opensource.org/licenses/bsd-license.php
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
* Neither the name of the JSR305 expert group nor the names of its
|
||||
contributors may be used to endorse or promote products derived from
|
||||
this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
21
lib/LICENSE-bouncycastle
Normal file
21
lib/LICENSE-bouncycastle
Normal file
@ -0,0 +1,21 @@
|
||||
Copyright (c) 2000 - 2012 The Legion Of The Bouncy Castle
|
||||
(http://www.bouncycastle.org)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
20
lib/LICENSE-clippy
Normal file
20
lib/LICENSE-clippy
Normal file
@ -0,0 +1,20 @@
|
||||
Copyright (c) 2008 Tom Preston-Werner
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
'Software'), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
710
lib/LICENSE-h2
Normal file
710
lib/LICENSE-h2
Normal file
@ -0,0 +1,710 @@
|
||||
H2 is dual licensed and available under a modified version of the
|
||||
MPL 1.1 (Mozilla Public License) or under the (unmodified) EPL 1.0.
|
||||
----
|
||||
|
||||
link:http://www.h2database.com/html/license.html[H2 License]
|
||||
|
||||
----
|
||||
H2 License - Version 1.0
|
||||
1. Definitions
|
||||
|
||||
1.0.1. "Commercial Use" means distribution or otherwise making the
|
||||
Covered Code available to a third party.
|
||||
|
||||
1.1. "Contributor" means each entity that creates or contributes
|
||||
to the creation of Modifications.
|
||||
|
||||
1.2. "Contributor Version" means the combination of the Original
|
||||
Code, prior Modifications used by a Contributor, and the
|
||||
Modifications made by that particular Contributor.
|
||||
|
||||
1.3. "Covered Code" means the Original Code or Modifications or
|
||||
the combination of the Original Code and Modifications, in each
|
||||
case including portions thereof.
|
||||
|
||||
1.4. "Electronic Distribution Mechanism" means a mechanism generally
|
||||
accepted in the software development community for the electronic
|
||||
transfer of data.
|
||||
|
||||
1.5. "Executable" means Covered Code in any form other than Source Code.
|
||||
|
||||
1.6. "Initial Developer" means the individual or entity identified
|
||||
as the Initial Developer in the Source Code notice required
|
||||
by Exhibit A.
|
||||
|
||||
1.7. "Larger Work" means a work which combines Covered Code or
|
||||
portions thereof with code not governed by the terms of this
|
||||
License.
|
||||
|
||||
1.8. "License" means this document.
|
||||
|
||||
1.8.1. "Licensable" means having the right to grant, to the maximum
|
||||
extent possible, whether at the time of the initial grant
|
||||
or subsequently acquired, any and all of the rights conveyed
|
||||
herein.
|
||||
|
||||
1.9. "Modifications" means any addition to or deletion from the
|
||||
substance or structure of either the Original Code or any
|
||||
previous Modifications. When Covered Code is released as a
|
||||
series of files, a Modification is:
|
||||
|
||||
1.9.a. Any addition to or deletion from the contents of a file
|
||||
containing Original Code or previous Modifications.
|
||||
|
||||
1.9.b. Any new file that contains any part of the Original Code or
|
||||
previous Modifications.
|
||||
|
||||
1.10. "Original Code" means Source Code of computer software
|
||||
code which is described in the Source Code notice required
|
||||
by Exhibit A as Original Code, and which, at the time of
|
||||
its release under this License is not already Covered Code
|
||||
governed by this License.
|
||||
|
||||
1.10.1. "Patent Claims" means any patent claim(s), now owned or
|
||||
hereafter acquired, including without limitation, method,
|
||||
process, and apparatus claims, in any patent Licensable
|
||||
by grantor.
|
||||
|
||||
1.11. "Source Code" means the preferred form of the Covered Code
|
||||
for making modifications to it, including all modules it
|
||||
contains, plus any associated interface definition files,
|
||||
scripts used to control compilation and installation of an
|
||||
Executable, or source code differential comparisons against
|
||||
either the Original Code or another well known, available
|
||||
Covered Code of the Contributor's choice. The Source Code can
|
||||
be in a compressed or archival form, provided the appropriate
|
||||
decompression or de-archiving software is widely available
|
||||
for no charge.
|
||||
|
||||
1.12. "You" (or "Your") means an individual or a legal entity
|
||||
exercising rights under, and complying with all of the terms
|
||||
of, this License or a future version of this License issued
|
||||
under Section 6.1. For legal entities, "You" includes any
|
||||
entity which controls, is controlled by, or is under common
|
||||
control with You. For purposes of this definition, "control"
|
||||
means (a) the power, direct or indirect, to cause the direction
|
||||
or management of such entity, whether by contract or otherwise,
|
||||
or (b) ownership of more than fifty percent (50%) of the
|
||||
outstanding shares or beneficial ownership of such entity.
|
||||
|
||||
2. Source Code License
|
||||
|
||||
2.1. The Initial Developer Grant
|
||||
|
||||
The Initial Developer hereby grants You a world-wide, royalty-free,
|
||||
non-exclusive license, subject to third party intellectual property
|
||||
claims:
|
||||
|
||||
2.1.a. under intellectual property rights (other than patent
|
||||
or trademark) Licensable by Initial Developer to use,
|
||||
reproduce, modify, display, perform, sublicense and distribute
|
||||
the Original Code (or portions thereof) with or without
|
||||
Modifications, and/or as part of a Larger Work; and
|
||||
|
||||
2.1.b. under Patents Claims infringed by the making, using or selling
|
||||
of Original Code, to make, have made, use, practice, sell,
|
||||
and offer for sale, and/or otherwise dispose of the Original
|
||||
Code (or portions thereof).
|
||||
|
||||
2.1.c. the licenses granted in this Section 2.1 (a) and (b) are
|
||||
effective on the date Initial Developer first distributes
|
||||
Original Code under the terms of this License.
|
||||
|
||||
2.1.d. Notwithstanding Section 2.1 (b) above, no patent license is
|
||||
granted: 1) for code that You delete from the Original Code;
|
||||
2) separate from the Original Code; or 3) for infringements
|
||||
caused by: i) the modification of the Original Code or ii)
|
||||
the combination of the Original Code with other software
|
||||
or devices.
|
||||
|
||||
2.2. Contributor Grant
|
||||
|
||||
Subject to third party intellectual property claims, each Contributor
|
||||
hereby grants You a world-wide, royalty-free, non-exclusive license
|
||||
|
||||
2.2.a. under intellectual property rights (other than patent or
|
||||
trademark) Licensable by Contributor, to use, reproduce,
|
||||
modify, display, perform, sublicense and distribute the
|
||||
Modifications created by such Contributor (or portions
|
||||
thereof) either on an unmodified basis, with other
|
||||
Modifications, as Covered Code and/or as part of a Larger
|
||||
Work; and
|
||||
|
||||
2.2.b. under Patent Claims infringed by the making, using, or selling
|
||||
of Modifications made by that Contributor either alone and/or
|
||||
in combination with its Contributor Version (or portions
|
||||
of such combination), to make, use, sell, offer for sale,
|
||||
have made, and/or otherwise dispose of: 1) Modifications
|
||||
made by that Contributor (or portions thereof); and 2) the
|
||||
combination of Modifications made by that Contributor with
|
||||
its Contributor Version (or portions of such combination).
|
||||
|
||||
2.2.c. the licenses granted in Sections 2.2 (a) and 2.2 (b) are
|
||||
effective on the date Contributor first makes Commercial
|
||||
Use of the Covered Code.
|
||||
|
||||
2.2.c. Notwithstanding Section 2.2 (b) above, no patent license is
|
||||
granted: 1) for any code that Contributor has deleted from
|
||||
the Contributor Version; 2) separate from the Contributor
|
||||
Version; 3) for infringements caused by: i) third party
|
||||
modifications of Contributor Version or ii) the combination
|
||||
of Modifications made by that Contributor with other software
|
||||
(except as part of the Contributor Version) or other devices;
|
||||
or 4) under Patent Claims infringed by Covered Code in the
|
||||
absence of Modifications made by that Contributor.
|
||||
|
||||
3. Distribution Obligations
|
||||
|
||||
3.1. Application of License
|
||||
|
||||
The Modifications which You create or to which You contribute
|
||||
are governed by the terms of this License, including without
|
||||
limitation Section 2.2. The Source Code version of Covered Code may
|
||||
be distributed only under the terms of this License or a future
|
||||
version of this License released under Section 6.1, and You must
|
||||
include a copy of this License with every copy of the Source Code
|
||||
You distribute. You may not offer or impose any terms on any Source
|
||||
Code version that alters or restricts the applicable version of
|
||||
this License or the recipients' rights hereunder. However, You
|
||||
may include an additional document offering the additional rights
|
||||
described in Section 3.5.
|
||||
|
||||
3.2. Availability of Source Code
|
||||
|
||||
Any Modification which You create or to which You contribute must
|
||||
be made available in Source Code form under the terms of this
|
||||
License either on the same media as an Executable version or via
|
||||
an accepted Electronic Distribution Mechanism to anyone to whom
|
||||
you made an Executable version available; and if made available
|
||||
via Electronic Distribution Mechanism, must remain available for
|
||||
at least twelve (12) months after the date it initially became
|
||||
available, or at least six (6) months after a subsequent version
|
||||
of that particular Modification has been made available to such
|
||||
recipients. You are responsible for ensuring that the Source Code
|
||||
version remains available even if the Electronic Distribution
|
||||
Mechanism is maintained by a third party.
|
||||
|
||||
3.3. Description of Modifications
|
||||
|
||||
You must cause all Covered Code to which You contribute to contain
|
||||
a file documenting the changes You made to create that Covered
|
||||
Code and the date of any change. You must include a prominent
|
||||
statement that the Modification is derived, directly or indirectly,
|
||||
from Original Code provided by the Initial Developer and including
|
||||
the name of the Initial Developer in (a) the Source Code, and (b)
|
||||
in any notice in an Executable version or related documentation in
|
||||
which You describe the origin or ownership of the Covered Code.
|
||||
|
||||
3.4. Intellectual Property Matters
|
||||
|
||||
3.4.a. Third Party Claims: If Contributor has knowledge that
|
||||
a license under a third party's intellectual property
|
||||
rights is required to exercise the rights granted by such
|
||||
Contributor under Sections 2.1 or 2.2, Contributor must
|
||||
include a text file with the Source Code distribution titled
|
||||
"LEGAL" which describes the claim and the party making the
|
||||
claim in sufficient detail that a recipient will know whom
|
||||
to contact. If Contributor obtains such knowledge after the
|
||||
Modification is made available as described in Section 3.2,
|
||||
Contributor shall promptly modify the LEGAL file in all
|
||||
copies Contributor makes available thereafter and shall take
|
||||
other steps (such as notifying appropriate mailing lists or
|
||||
newsgroups) reasonably calculated to inform those who received
|
||||
the Covered Code that new knowledge has been obtained.
|
||||
|
||||
3.4.b. Contributor APIs: If Contributor's Modifications include
|
||||
an application programming interface and Contributor has
|
||||
knowledge of patent licenses which are reasonably necessary
|
||||
to implement that API, Contributor must also include this
|
||||
information in the legal file.
|
||||
|
||||
3.4.c. Representations: Contributor represents that, except as
|
||||
disclosed pursuant to Section 3.4 (a) above, Contributor
|
||||
believes that Contributor's Modifications are Contributor's
|
||||
original creation(s) and/or Contributor has sufficient rights
|
||||
to grant the rights conveyed by this License.
|
||||
|
||||
3.5. Required Notices
|
||||
|
||||
You must duplicate the notice in Exhibit A in each file of
|
||||
the Source Code. If it is not possible to put such notice in a
|
||||
particular Source Code file due to its structure, then You must
|
||||
include such notice in a location (such as a relevant directory)
|
||||
where a user would be likely to look for such a notice. If You
|
||||
created one or more Modification(s) You may add your name as a
|
||||
Contributor to the notice described in Exhibit A. You must also
|
||||
duplicate this License in any documentation for the Source Code
|
||||
where You describe recipients' rights or ownership rights relating
|
||||
to Covered Code. You may choose to offer, and to charge a fee for,
|
||||
warranty, support, indemnity or liability obligations to one or
|
||||
more recipients of Covered Code. However, You may do so only on
|
||||
Your own behalf, and not on behalf of the Initial Developer or
|
||||
any Contributor. You must make it absolutely clear than any such
|
||||
warranty, support, indemnity or liability obligation is offered by
|
||||
You alone, and You hereby agree to indemnify the Initial Developer
|
||||
and every Contributor for any liability incurred by the Initial
|
||||
Developer or such Contributor as a result of warranty, support,
|
||||
indemnity or liability terms You offer.
|
||||
|
||||
3.6. Distribution of Executable Versions
|
||||
|
||||
You may distribute Covered Code in Executable form only if the
|
||||
requirements of Sections 3.1, 3.2, 3.3, 3.4 and 3.5 have been met
|
||||
for that Covered Code, and if You include a notice stating that
|
||||
the Source Code version of the Covered Code is available under the
|
||||
terms of this License, including a description of how and where
|
||||
You have fulfilled the obligations of Section 3.2. The notice
|
||||
must be conspicuously included in any notice in an Executable
|
||||
version, related documentation or collateral in which You describe
|
||||
recipients' rights relating to the Covered Code. You may distribute
|
||||
the Executable version of Covered Code or ownership rights under
|
||||
a license of Your choice, which may contain terms different from
|
||||
this License, provided that You are in compliance with the terms
|
||||
of this License and that the license for the Executable version
|
||||
does not attempt to limit or alter the recipient's rights in the
|
||||
Source Code version from the rights set forth in this License. If
|
||||
You distribute the Executable version under a different license You
|
||||
must make it absolutely clear that any terms which differ from this
|
||||
License are offered by You alone, not by the Initial Developer or any
|
||||
Contributor. You hereby agree to indemnify the Initial Developer and
|
||||
every Contributor for any liability incurred by the Initial Developer
|
||||
or such Contributor as a result of any such terms You offer.
|
||||
|
||||
3.7. Larger Works
|
||||
|
||||
You may create a Larger Work by combining Covered Code with other
|
||||
code not governed by the terms of this License and distribute the
|
||||
Larger Work as a single product. In such a case, You must make sure
|
||||
the requirements of this License are fulfilled for the Covered Code.
|
||||
|
||||
4. Inability to Comply Due to Statute or Regulation.
|
||||
|
||||
If it is impossible for You to comply with any of the terms of
|
||||
this License with respect to some or all of the Covered Code due to
|
||||
statute, judicial order, or regulation then You must: (a) comply with
|
||||
the terms of this License to the maximum extent possible; and (b)
|
||||
describe the limitations and the code they affect. Such description
|
||||
must be included in the legal file described in Section 3.4 and
|
||||
must be included with all distributions of the Source Code. Except
|
||||
to the extent prohibited by statute or regulation, such description
|
||||
must be sufficiently detailed for a recipient of ordinary skill to
|
||||
be able to understand it.
|
||||
|
||||
5. Application of this License.
|
||||
|
||||
This License applies to code to which the Initial Developer has
|
||||
attached the notice in Exhibit A and to related Covered Code.
|
||||
|
||||
6. Versions of the License.
|
||||
|
||||
6.1. New Versions
|
||||
|
||||
The H2 Group may publish revised and/or new versions of the License
|
||||
from time to time. Each version will be given a distinguishing
|
||||
version number.
|
||||
|
||||
6.2. Effect of New Versions
|
||||
|
||||
Once Covered Code has been published under a particular version of
|
||||
the License, You may always continue to use it under the terms of
|
||||
that version. You may also choose to use such Covered Code under the
|
||||
terms of any subsequent version of the License published by the H2
|
||||
Group. No one other than the H2 Group has the right to modify the
|
||||
terms applicable to Covered Code created under this License.
|
||||
|
||||
6.3. Derivative Works
|
||||
|
||||
If You create or use a modified version of this License (which you
|
||||
may only do in order to apply it to code which is not already Covered
|
||||
Code governed by this License), You must (a) rename Your license so
|
||||
that the phrases "H2 Group", "H2" or any confusingly similar phrase
|
||||
do not appear in your license (except to note that your license
|
||||
differs from this License) and (b) otherwise make it clear that
|
||||
Your version of the license contains terms which differ from the
|
||||
H2 License. (Filling in the name of the Initial Developer, Original
|
||||
Code or Contributor in the notice described in Exhibit A shall not
|
||||
of themselves be deemed to be modifications of this License.)
|
||||
|
||||
7. Disclaimer of Warranty
|
||||
|
||||
Covered code is provided under this license on an "as is" basis,
|
||||
without warranty of any kind, either expressed or implied,
|
||||
including, without limitation, warranties that the covered code
|
||||
is free of defects, merchantable, fit for a particular purpose or
|
||||
non-infringing. The entire risk as to the quality and performance
|
||||
of the covered code is with you. Should any covered code prove
|
||||
defective in any respect, you (not the initial developer or any
|
||||
other contributor) assume the cost of any necessary servicing,
|
||||
repair or correction. This disclaimer of warranty constitutes
|
||||
an essential part of this license. No use of any covered code is
|
||||
authorized hereunder except under this disclaimer.
|
||||
|
||||
8. Termination
|
||||
|
||||
8.1. This License and the rights granted hereunder will terminate
|
||||
automatically if You fail to comply with terms herein and
|
||||
fail to cure such breach within 30 days of becoming aware
|
||||
of the breach. All sublicenses to the Covered Code which
|
||||
are properly granted shall survive any termination of this
|
||||
License. Provisions which, by their nature, must remain in
|
||||
effect beyond the termination of this License shall survive.
|
||||
|
||||
8.2. If You initiate litigation by asserting a patent infringement
|
||||
claim (excluding declaratory judgment actions) against
|
||||
Initial Developer or a Contributor (the Initial Developer or
|
||||
Contributor against whom You file such action is referred to as
|
||||
"Participant") alleging that:
|
||||
|
||||
8.2.a. such Participant's Contributor Version directly or indirectly
|
||||
infringes any patent, then any and all rights granted by
|
||||
such Participant to You under Sections 2.1 and/or 2.2 of this
|
||||
License shall, upon 60 days notice from Participant terminate
|
||||
prospectively, unless if within 60 days after receipt of
|
||||
notice You either: (i) agree in writing to pay Participant
|
||||
a mutually agreeable reasonable royalty for Your past and
|
||||
future use of Modifications made by such Participant, or (ii)
|
||||
withdraw Your litigation claim with respect to the Contributor
|
||||
Version against such Participant. If within 60 days of notice,
|
||||
a reasonable royalty and payment arrangement are not mutually
|
||||
agreed upon in writing by the parties or the litigation claim
|
||||
is not withdrawn, the rights granted by Participant to You
|
||||
under Sections 2.1 and/or 2.2 automatically terminate at
|
||||
the expiration of the 60 day notice period specified above.
|
||||
|
||||
8.2.b. any software, hardware, or device, other than such
|
||||
Participant's Contributor Version, directly or indirectly
|
||||
infringes any patent, then any rights granted to You by
|
||||
such Participant under Sections 2.1(b) and 2.2(b) are
|
||||
revoked effective as of the date You first made, used,
|
||||
sold, distributed, or had made, Modifications made by that
|
||||
Participant.
|
||||
|
||||
8.3. If You assert a patent infringement claim against Participant
|
||||
alleging that such Participant's Contributor Version directly
|
||||
or indirectly infringes any patent where such claim is resolved
|
||||
(such as by license or settlement) prior to the initiation of
|
||||
patent infringement litigation, then the reasonable value of
|
||||
the licenses granted by such Participant under Sections 2.1
|
||||
or 2.2 shall be taken into account in determining the amount
|
||||
or value of any payment or license.
|
||||
|
||||
8.4. In the event of termination under Sections 8.1 or 8.2 above,
|
||||
all end user license agreements (excluding distributors and
|
||||
resellers) which have been validly granted by You or any
|
||||
distributor hereunder prior to termination shall survive
|
||||
termination.
|
||||
|
||||
9. Limitation of Liability
|
||||
|
||||
Under no circumstances and under no legal theory, whether tort
|
||||
(including negligence), contract, or otherwise, shall you, the
|
||||
initial developer, any other contributor, or any distributor of
|
||||
covered code, or any supplier of any of such parties, be liable to
|
||||
any person for any indirect, special, incidental, or consequential
|
||||
damages of any character including, without limitation, damages for
|
||||
loss of goodwill, work stoppage, computer failure or malfunction, or
|
||||
any and all other commercial damages or losses, even if such party
|
||||
shall have been informed of the possibility of such damages. This
|
||||
limitation of liability shall not apply to liability for death or
|
||||
personal injury resulting from such party's negligence to the extent
|
||||
applicable law prohibits such limitation. Some jurisdictions do not
|
||||
allow the exclusion or limitation of incidental or consequential
|
||||
damages, so this exclusion and limitation may not apply to you.
|
||||
|
||||
10. United States Government End Users
|
||||
|
||||
The Covered Code is a "commercial item", as that term is defined in
|
||||
48 C.F.R. 2.101 (October 1995), consisting of "commercial computer
|
||||
software" and "commercial computer software documentation", as such
|
||||
terms are used in 48 C.F.R. 12.212 (September 1995). Consistent
|
||||
with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4
|
||||
(June 1995), all U.S. Government End Users acquire Covered Code
|
||||
with only those rights set forth herein.
|
||||
|
||||
11. Miscellaneous
|
||||
|
||||
This License represents the complete agreement concerning subject
|
||||
matter hereof. If any provision of this License is held to be
|
||||
unenforceable, such provision shall be reformed only to the extent
|
||||
necessary to make it enforceable. This License shall be governed
|
||||
by California law provisions (except to the extent applicable
|
||||
law, if any, provides otherwise), excluding its conflict-of-law
|
||||
provisions. With respect to disputes in which at least one party is
|
||||
a citizen of, or an entity chartered or registered to do business in
|
||||
United States of America, any litigation relating to this License
|
||||
shall be subject to the jurisdiction of the Federal Courts of the
|
||||
Northern District of California, with venue lying in Santa Clara
|
||||
County, California, with the losing party responsible for costs,
|
||||
including without limitation, court costs and reasonable attorneys'
|
||||
fees and expenses. The application of the United Nations Convention
|
||||
on Contracts for the International Sale of Goods is expressly
|
||||
excluded. Any law or regulation which provides that the language of
|
||||
a contract shall be construed against the drafter shall not apply
|
||||
to this License.
|
||||
|
||||
12. Responsibility for Claims
|
||||
|
||||
As between Initial Developer and the Contributors, each party is
|
||||
responsible for claims and damages arising, directly or indirectly,
|
||||
out of its utilization of rights under this License and You agree
|
||||
to work with Initial Developer and Contributors to distribute such
|
||||
responsibility on an equitable basis. Nothing herein is intended
|
||||
or shall be deemed to constitute any admission of liability.
|
||||
|
||||
13. Multiple-Licensed Code
|
||||
|
||||
Initial Developer may designate portions of the Covered Code as
|
||||
"Multiple-Licensed". "Multiple-Licensed" means that the Initial
|
||||
Developer permits you to utilize portions of the Covered Code under
|
||||
Your choice of this or the alternative licenses, if any, specified
|
||||
by the Initial Developer in the file described in Exhibit A.
|
||||
|
||||
Exhibit A
|
||||
|
||||
Multiple-Licensed under the H2 License, Version 1.0,
|
||||
and under the Eclipse Public License, Version 1.0
|
||||
(http://h2database.com/html/license.html).
|
||||
Initial Developer: H2 Group
|
||||
----
|
||||
|
||||
----
|
||||
Eclipse Public License - v 1.0
|
||||
|
||||
THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
|
||||
PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION
|
||||
OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
|
||||
|
||||
1. DEFINITIONS
|
||||
|
||||
"Contribution" means:
|
||||
|
||||
a) in the case of the initial Contributor, the initial code and
|
||||
documentation distributed under this Agreement, and
|
||||
b) in the case of each subsequent Contributor:
|
||||
|
||||
i) changes to the Program, and
|
||||
|
||||
ii) additions to the Program;
|
||||
|
||||
where such changes and/or additions to the Program originate from
|
||||
and are distributed by that particular Contributor. A Contribution
|
||||
'originates' from a Contributor if it was added to the Program
|
||||
by such Contributor itself or anyone acting on such Contributor's
|
||||
behalf. Contributions do not include additions to the Program which:
|
||||
(i) are separate modules of software distributed in conjunction
|
||||
with the Program under their own license agreement, and (ii) are
|
||||
not derivative works of the Program.
|
||||
|
||||
"Contributor" means any person or entity that distributes the Program.
|
||||
|
||||
"Licensed Patents " mean patent claims licensable by a Contributor
|
||||
which are necessarily infringed by the use or sale of its
|
||||
Contribution alone or when combined with the Program.
|
||||
|
||||
"Program" means the Contributions distributed in accordance with
|
||||
this Agreement.
|
||||
|
||||
"Recipient" means anyone who receives the Program under this
|
||||
Agreement, including all Contributors.
|
||||
|
||||
2. GRANT OF RIGHTS
|
||||
|
||||
a) Subject to the terms of this Agreement, each Contributor hereby
|
||||
grants Recipient a non-exclusive, worldwide, royalty-free copyright
|
||||
license to reproduce, prepare derivative works of, publicly display,
|
||||
publicly perform, distribute and sublicense the Contribution of such
|
||||
Contributor, if any, and such derivative works, in source code and
|
||||
object code form.
|
||||
|
||||
b) Subject to the terms of this Agreement, each Contributor hereby
|
||||
grants Recipient a non-exclusive, worldwide, royalty-free patent
|
||||
license under Licensed Patents to make, use, sell, offer to sell,
|
||||
import and otherwise transfer the Contribution of such Contributor,
|
||||
if any, in source code and object code form. This patent license
|
||||
shall apply to the combination of the Contribution and the Program
|
||||
if, at the time the Contribution is added by the Contributor, such
|
||||
addition of the Contribution causes such combination to be covered
|
||||
by the Licensed Patents. The patent license shall not apply to any
|
||||
other combinations which include the Contribution. No hardware per
|
||||
se is licensed hereunder.
|
||||
|
||||
c) Recipient understands that although each Contributor grants the
|
||||
licenses to its Contributions set forth herein, no assurances are
|
||||
provided by any Contributor that the Program does not infringe
|
||||
the patent or other intellectual property rights of any other
|
||||
entity. Each Contributor disclaims any liability to Recipient
|
||||
for claims brought by any other entity based on infringement
|
||||
of intellectual property rights or otherwise. As a condition to
|
||||
exercising the rights and licenses granted hereunder, each Recipient
|
||||
hereby assumes sole responsibility to secure any other intellectual
|
||||
property rights needed, if any. For example, if a third party patent
|
||||
license is required to allow Recipient to distribute the Program,
|
||||
it is Recipient's responsibility to acquire that license before
|
||||
distributing the Program.
|
||||
|
||||
d) Each Contributor represents that to its knowledge it has
|
||||
sufficient copyright rights in its Contribution, if any, to grant
|
||||
the copyright license set forth in this Agreement.
|
||||
|
||||
3. REQUIREMENTS
|
||||
|
||||
A Contributor may choose to distribute the Program in object code
|
||||
form under its own license agreement, provided that:
|
||||
|
||||
a) it complies with the terms and conditions of this Agreement; and
|
||||
|
||||
b) its license agreement:
|
||||
|
||||
i) effectively disclaims on behalf of all Contributors all warranties
|
||||
and conditions, express and implied, including warranties or
|
||||
conditions of title and non-infringement, and implied warranties or
|
||||
conditions of merchantability and fitness for a particular purpose;
|
||||
|
||||
ii) effectively excludes on behalf of all Contributors all liability
|
||||
for damages, including direct, indirect, special, incidental and
|
||||
consequential damages, such as lost profits;
|
||||
|
||||
iii) states that any provisions which differ from this Agreement
|
||||
are offered by that Contributor alone and not by any other
|
||||
party; and
|
||||
|
||||
iv) states that source code for the Program is available from such
|
||||
Contributor, and informs licensees how to obtain it in a reasonable
|
||||
manner on or through a medium customarily used for software exchange.
|
||||
|
||||
When the Program is made available in source code form:
|
||||
|
||||
a) it must be made available under this Agreement; and
|
||||
|
||||
b) a copy of this Agreement must be included with each copy of the Program.
|
||||
|
||||
Contributors may not remove or alter any copyright notices contained
|
||||
within the Program.
|
||||
|
||||
Each Contributor must identify itself as the originator of its
|
||||
Contribution, if any, in a manner that reasonably allows subsequent
|
||||
Recipients to identify the originator of the Contribution.
|
||||
|
||||
4. COMMERCIAL DISTRIBUTION
|
||||
|
||||
Commercial distributors of software may accept certain
|
||||
responsibilities with respect to end users, business partners and the
|
||||
like. While this license is intended to facilitate the commercial
|
||||
use of the Program, the Contributor who includes the Program in a
|
||||
commercial product offering should do so in a manner which does not
|
||||
create potential liability for other Contributors. Therefore, if a
|
||||
Contributor includes the Program in a commercial product offering,
|
||||
such Contributor ("Commercial Contributor") hereby agrees to defend
|
||||
and indemnify every other Contributor ("Indemnified Contributor")
|
||||
against any losses, damages and costs (collectively "Losses") arising
|
||||
from claims, lawsuits and other legal actions brought by a third
|
||||
party against the Indemnified Contributor to the extent caused by
|
||||
the acts or omissions of such Commercial Contributor in connection
|
||||
with its distribution of the Program in a commercial product
|
||||
offering. The obligations in this section do not apply to any claims
|
||||
or Losses relating to any actual or alleged intellectual property
|
||||
infringement. In order to qualify, an Indemnified Contributor must:
|
||||
a) promptly notify the Commercial Contributor in writing of such
|
||||
claim, and b) allow the Commercial Contributor to control, and
|
||||
cooperate with the Commercial Contributor in, the defense and any
|
||||
related settlement negotiations. The Indemnified Contributor may
|
||||
participate in any such claim at its own expense.
|
||||
|
||||
For example, a Contributor might include the Program in a
|
||||
commercial product offering, Product X. That Contributor is then a
|
||||
Commercial Contributor. If that Commercial Contributor then makes
|
||||
performance claims, or offers warranties related to Product X, those
|
||||
performance claims and warranties are such Commercial Contributor's
|
||||
responsibility alone. Under this section, the Commercial Contributor
|
||||
would have to defend claims against the other Contributors related
|
||||
to those performance claims and warranties, and if a court requires
|
||||
any other Contributor to pay any damages as a result, the Commercial
|
||||
Contributor must pay those damages.
|
||||
|
||||
5. NO WARRANTY
|
||||
|
||||
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
|
||||
PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY
|
||||
WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
|
||||
OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
|
||||
responsible for determining the appropriateness of using and
|
||||
distributing the Program and assumes all risks associated with
|
||||
its exercise of rights under this Agreement , including but not
|
||||
limited to the risks and costs of program errors, compliance with
|
||||
applicable laws, damage to or loss of data, programs or equipment,
|
||||
and unavailability or interruption of operations.
|
||||
|
||||
6. DISCLAIMER OF LIABILITY
|
||||
|
||||
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
|
||||
NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT,
|
||||
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY
|
||||
RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGES.
|
||||
|
||||
7. GENERAL
|
||||
|
||||
If any provision of this Agreement is invalid or unenforceable under
|
||||
applicable law, it shall not affect the validity or enforceability of
|
||||
the remainder of the terms of this Agreement, and without further
|
||||
action by the parties hereto, such provision shall be reformed
|
||||
to the minimum extent necessary to make such provision valid and
|
||||
enforceable.
|
||||
|
||||
If Recipient institutes patent litigation against any entity
|
||||
(including a cross-claim or counterclaim in a lawsuit) alleging
|
||||
that the Program itself (excluding combinations of the Program with
|
||||
other software or hardware) infringes such Recipient's patent(s),
|
||||
then such Recipient's rights granted under Section 2(b) shall
|
||||
terminate as of the date such litigation is filed.
|
||||
|
||||
All Recipient's rights under this Agreement shall terminate if
|
||||
it fails to comply with any of the material terms or conditions
|
||||
of this Agreement and does not cure such failure in a reasonable
|
||||
period of time after becoming aware of such noncompliance. If all
|
||||
Recipient's rights under this Agreement terminate, Recipient agrees
|
||||
to cease use and distribution of the Program as soon as reasonably
|
||||
practicable. However, Recipient's obligations under this Agreement
|
||||
and any licenses granted by Recipient relating to the Program shall
|
||||
continue and survive.
|
||||
|
||||
Everyone is permitted to copy and distribute copies of this
|
||||
Agreement, but in order to avoid inconsistency the Agreement is
|
||||
copyrighted and may only be modified in the following manner. The
|
||||
Agreement Steward reserves the right to publish new versions
|
||||
(including revisions) of this Agreement from time to time. No
|
||||
one other than the Agreement Steward has the right to modify
|
||||
this Agreement. The Eclipse Foundation is the initial Agreement
|
||||
Steward. The Eclipse Foundation may assign the responsibility to
|
||||
serve as the Agreement Steward to a suitable separate entity. Each
|
||||
new version of the Agreement will be given a distinguishing
|
||||
version number. The Program (including Contributions) may always be
|
||||
distributed subject to the version of the Agreement under which it
|
||||
was received. In addition, after a new version of the Agreement is
|
||||
published, Contributor may elect to distribute the Program (including
|
||||
its Contributions) under the new version. Except as expressly stated
|
||||
in Sections 2(a) and 2(b) above, Recipient receives no rights or
|
||||
licenses to the intellectual property of any Contributor under
|
||||
this Agreement, whether expressly, by implication, estoppel or
|
||||
otherwise. All rights in the Program not expressly granted under
|
||||
this Agreement are reserved.
|
||||
|
||||
This Agreement is governed by the laws of the State of New York and
|
||||
the intellectual property laws of the United States of America. No
|
||||
party to this Agreement will bring a legal action under this
|
||||
Agreement more than one year after the cause of action arose. Each
|
||||
party waives its rights to a jury trial in any resulting litigation.
|
||||
----
|
||||
|
||||
----
|
||||
Export Control Classification Number (ECCN)
|
||||
|
||||
As far as we know, the U.S. Export Control Classification Number
|
||||
(ECCN) for this software is 5D002. However, for legal reasons, we
|
||||
can make no warranty that this information is correct. For details,
|
||||
see also the Apache Software Foundation Export Classifications page.
|
37
lib/LICENSE-jgit
Normal file
37
lib/LICENSE-jgit
Normal file
@ -0,0 +1,37 @@
|
||||
This program and the accompanying materials are made available
|
||||
under the terms of the Eclipse Distribution License v1.0 which
|
||||
accompanies this distribution, is reproduced below, and is
|
||||
available at http://www.eclipse.org/org/documents/edl-v10.php
|
||||
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or
|
||||
without modification, are permitted provided that the following
|
||||
conditions are met:
|
||||
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
- Redistributions in binary form must reproduce the above
|
||||
copyright notice, this list of conditions and the following
|
||||
disclaimer in the documentation and/or other materials provided
|
||||
with the distribution.
|
||||
|
||||
- Neither the name of the Eclipse Foundation, Inc. nor the
|
||||
names of its contributors may be used to endorse or promote
|
||||
products derived from this software without specific prior
|
||||
written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
26
lib/LICENSE-jsch
Normal file
26
lib/LICENSE-jsch
Normal file
@ -0,0 +1,26 @@
|
||||
Copyright (c) 2002-2012 Atsuhiko Yamanaka, JCraft,Inc.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in
|
||||
the documentation and/or other materials provided with the distribution.
|
||||
|
||||
3. The names of the authors may not be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
|
||||
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JCRAFT,
|
||||
INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
||||
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
28
lib/LICENSE-jsr305
Normal file
28
lib/LICENSE-jsr305
Normal file
@ -0,0 +1,28 @@
|
||||
Copyright (c) 2007-2009, JSR305 expert group
|
||||
All rights reserved.
|
||||
|
||||
http://www.opensource.org/licenses/bsd-license.php
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
* Neither the name of the JSR305 expert group nor the names of its
|
||||
contributors may be used to endorse or promote products derived from
|
||||
this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
29
lib/LICENSE-ow2
Normal file
29
lib/LICENSE-ow2
Normal file
@ -0,0 +1,29 @@
|
||||
Copyright (c) 2000-2011 INRIA, France Telecom
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
3. Neither the name of the copyright holders nor the names of its
|
||||
contributors may be used to endorse or promote products derived from
|
||||
this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||
THE POSSIBILITY OF SUCH DAMAGE.
|
26
lib/LICENSE-postgresql
Normal file
26
lib/LICENSE-postgresql
Normal file
@ -0,0 +1,26 @@
|
||||
Copyright (c) 1997-2011, PostgreSQL Global Development Group
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
3. Neither the name of the PostgreSQL Global Development Group nor the names
|
||||
of its contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
587
lib/LICENSE-prologcafe
Normal file
587
lib/LICENSE-prologcafe
Normal file
@ -0,0 +1,587 @@
|
||||
Prolog Cafe (A Prolog to Java Translator System)
|
||||
Copyright (C) 1997-2009 by Mutsunori Banbara and Naoyuki Tamura
|
||||
|
||||
Prolog Cafe is free software; you can redistribute it and/or modify
|
||||
it under the terms of either:
|
||||
|
||||
* the GNU General Public License as published by the Free Software
|
||||
Foundation; either version 2 of the License, or (at your option)
|
||||
any later version, or
|
||||
|
||||
* the Eclipse Public License
|
||||
----
|
||||
|
||||
----
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
||||
----
|
||||
|
||||
----
|
||||
Eclipse Public License - v 1.0
|
||||
|
||||
THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
|
||||
PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION
|
||||
OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
|
||||
|
||||
1. DEFINITIONS
|
||||
|
||||
"Contribution" means:
|
||||
|
||||
a) in the case of the initial Contributor, the initial code and
|
||||
documentation distributed under this Agreement, and
|
||||
b) in the case of each subsequent Contributor:
|
||||
|
||||
i) changes to the Program, and
|
||||
|
||||
ii) additions to the Program;
|
||||
|
||||
where such changes and/or additions to the Program originate from
|
||||
and are distributed by that particular Contributor. A Contribution
|
||||
'originates' from a Contributor if it was added to the Program
|
||||
by such Contributor itself or anyone acting on such Contributor's
|
||||
behalf. Contributions do not include additions to the Program which:
|
||||
(i) are separate modules of software distributed in conjunction
|
||||
with the Program under their own license agreement, and (ii) are
|
||||
not derivative works of the Program.
|
||||
|
||||
"Contributor" means any person or entity that distributes the Program.
|
||||
|
||||
"Licensed Patents " mean patent claims licensable by a Contributor
|
||||
which are necessarily infringed by the use or sale of its
|
||||
Contribution alone or when combined with the Program.
|
||||
|
||||
"Program" means the Contributions distributed in accordance with
|
||||
this Agreement.
|
||||
|
||||
"Recipient" means anyone who receives the Program under this
|
||||
Agreement, including all Contributors.
|
||||
|
||||
2. GRANT OF RIGHTS
|
||||
|
||||
a) Subject to the terms of this Agreement, each Contributor hereby
|
||||
grants Recipient a non-exclusive, worldwide, royalty-free copyright
|
||||
license to reproduce, prepare derivative works of, publicly display,
|
||||
publicly perform, distribute and sublicense the Contribution of such
|
||||
Contributor, if any, and such derivative works, in source code and
|
||||
object code form.
|
||||
|
||||
b) Subject to the terms of this Agreement, each Contributor hereby
|
||||
grants Recipient a non-exclusive, worldwide, royalty-free patent
|
||||
license under Licensed Patents to make, use, sell, offer to sell,
|
||||
import and otherwise transfer the Contribution of such Contributor,
|
||||
if any, in source code and object code form. This patent license
|
||||
shall apply to the combination of the Contribution and the Program
|
||||
if, at the time the Contribution is added by the Contributor, such
|
||||
addition of the Contribution causes such combination to be covered
|
||||
by the Licensed Patents. The patent license shall not apply to any
|
||||
other combinations which include the Contribution. No hardware per
|
||||
se is licensed hereunder.
|
||||
|
||||
c) Recipient understands that although each Contributor grants the
|
||||
licenses to its Contributions set forth herein, no assurances are
|
||||
provided by any Contributor that the Program does not infringe
|
||||
the patent or other intellectual property rights of any other
|
||||
entity. Each Contributor disclaims any liability to Recipient
|
||||
for claims brought by any other entity based on infringement
|
||||
of intellectual property rights or otherwise. As a condition to
|
||||
exercising the rights and licenses granted hereunder, each Recipient
|
||||
hereby assumes sole responsibility to secure any other intellectual
|
||||
property rights needed, if any. For example, if a third party patent
|
||||
license is required to allow Recipient to distribute the Program,
|
||||
it is Recipient's responsibility to acquire that license before
|
||||
distributing the Program.
|
||||
|
||||
d) Each Contributor represents that to its knowledge it has
|
||||
sufficient copyright rights in its Contribution, if any, to grant
|
||||
the copyright license set forth in this Agreement.
|
||||
|
||||
3. REQUIREMENTS
|
||||
|
||||
A Contributor may choose to distribute the Program in object code
|
||||
form under its own license agreement, provided that:
|
||||
|
||||
a) it complies with the terms and conditions of this Agreement; and
|
||||
|
||||
b) its license agreement:
|
||||
|
||||
i) effectively disclaims on behalf of all Contributors all warranties
|
||||
and conditions, express and implied, including warranties or
|
||||
conditions of title and non-infringement, and implied warranties or
|
||||
conditions of merchantability and fitness for a particular purpose;
|
||||
|
||||
ii) effectively excludes on behalf of all Contributors all liability
|
||||
for damages, including direct, indirect, special, incidental and
|
||||
consequential damages, such as lost profits;
|
||||
|
||||
iii) states that any provisions which differ from this Agreement
|
||||
are offered by that Contributor alone and not by any other
|
||||
party; and
|
||||
|
||||
iv) states that source code for the Program is available from such
|
||||
Contributor, and informs licensees how to obtain it in a reasonable
|
||||
manner on or through a medium customarily used for software exchange.
|
||||
|
||||
When the Program is made available in source code form:
|
||||
|
||||
a) it must be made available under this Agreement; and
|
||||
|
||||
b) a copy of this Agreement must be included with each copy of the Program.
|
||||
|
||||
Contributors may not remove or alter any copyright notices contained
|
||||
within the Program.
|
||||
|
||||
Each Contributor must identify itself as the originator of its
|
||||
Contribution, if any, in a manner that reasonably allows subsequent
|
||||
Recipients to identify the originator of the Contribution.
|
||||
|
||||
4. COMMERCIAL DISTRIBUTION
|
||||
|
||||
Commercial distributors of software may accept certain
|
||||
responsibilities with respect to end users, business partners and the
|
||||
like. While this license is intended to facilitate the commercial
|
||||
use of the Program, the Contributor who includes the Program in a
|
||||
commercial product offering should do so in a manner which does not
|
||||
create potential liability for other Contributors. Therefore, if a
|
||||
Contributor includes the Program in a commercial product offering,
|
||||
such Contributor ("Commercial Contributor") hereby agrees to defend
|
||||
and indemnify every other Contributor ("Indemnified Contributor")
|
||||
against any losses, damages and costs (collectively "Losses") arising
|
||||
from claims, lawsuits and other legal actions brought by a third
|
||||
party against the Indemnified Contributor to the extent caused by
|
||||
the acts or omissions of such Commercial Contributor in connection
|
||||
with its distribution of the Program in a commercial product
|
||||
offering. The obligations in this section do not apply to any claims
|
||||
or Losses relating to any actual or alleged intellectual property
|
||||
infringement. In order to qualify, an Indemnified Contributor must:
|
||||
a) promptly notify the Commercial Contributor in writing of such
|
||||
claim, and b) allow the Commercial Contributor to control, and
|
||||
cooperate with the Commercial Contributor in, the defense and any
|
||||
related settlement negotiations. The Indemnified Contributor may
|
||||
participate in any such claim at its own expense.
|
||||
|
||||
For example, a Contributor might include the Program in a
|
||||
commercial product offering, Product X. That Contributor is then a
|
||||
Commercial Contributor. If that Commercial Contributor then makes
|
||||
performance claims, or offers warranties related to Product X, those
|
||||
performance claims and warranties are such Commercial Contributor's
|
||||
responsibility alone. Under this section, the Commercial Contributor
|
||||
would have to defend claims against the other Contributors related
|
||||
to those performance claims and warranties, and if a court requires
|
||||
any other Contributor to pay any damages as a result, the Commercial
|
||||
Contributor must pay those damages.
|
||||
|
||||
5. NO WARRANTY
|
||||
|
||||
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
|
||||
PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY
|
||||
WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
|
||||
OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
|
||||
responsible for determining the appropriateness of using and
|
||||
distributing the Program and assumes all risks associated with
|
||||
its exercise of rights under this Agreement , including but not
|
||||
limited to the risks and costs of program errors, compliance with
|
||||
applicable laws, damage to or loss of data, programs or equipment,
|
||||
and unavailability or interruption of operations.
|
||||
|
||||
6. DISCLAIMER OF LIABILITY
|
||||
|
||||
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
|
||||
NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT,
|
||||
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY
|
||||
RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGES.
|
||||
|
||||
7. GENERAL
|
||||
|
||||
If any provision of this Agreement is invalid or unenforceable under
|
||||
applicable law, it shall not affect the validity or enforceability of
|
||||
the remainder of the terms of this Agreement, and without further
|
||||
action by the parties hereto, such provision shall be reformed
|
||||
to the minimum extent necessary to make such provision valid and
|
||||
enforceable.
|
||||
|
||||
If Recipient institutes patent litigation against any entity
|
||||
(including a cross-claim or counterclaim in a lawsuit) alleging
|
||||
that the Program itself (excluding combinations of the Program with
|
||||
other software or hardware) infringes such Recipient's patent(s),
|
||||
then such Recipient's rights granted under Section 2(b) shall
|
||||
terminate as of the date such litigation is filed.
|
||||
|
||||
All Recipient's rights under this Agreement shall terminate if
|
||||
it fails to comply with any of the material terms or conditions
|
||||
of this Agreement and does not cure such failure in a reasonable
|
||||
period of time after becoming aware of such noncompliance. If all
|
||||
Recipient's rights under this Agreement terminate, Recipient agrees
|
||||
to cease use and distribution of the Program as soon as reasonably
|
||||
practicable. However, Recipient's obligations under this Agreement
|
||||
and any licenses granted by Recipient relating to the Program shall
|
||||
continue and survive.
|
||||
|
||||
Everyone is permitted to copy and distribute copies of this
|
||||
Agreement, but in order to avoid inconsistency the Agreement is
|
||||
copyrighted and may only be modified in the following manner. The
|
||||
Agreement Steward reserves the right to publish new versions
|
||||
(including revisions) of this Agreement from time to time. No
|
||||
one other than the Agreement Steward has the right to modify
|
||||
this Agreement. The Eclipse Foundation is the initial Agreement
|
||||
Steward. The Eclipse Foundation may assign the responsibility to
|
||||
serve as the Agreement Steward to a suitable separate entity. Each
|
||||
new version of the Agreement will be given a distinguishing
|
||||
version number. The Program (including Contributions) may always be
|
||||
distributed subject to the version of the Agreement under which it
|
||||
was received. In addition, after a new version of the Agreement is
|
||||
published, Contributor may elect to distribute the Program (including
|
||||
its Contributions) under the new version. Except as expressly stated
|
||||
in Sections 2(a) and 2(b) above, Recipient receives no rights or
|
||||
licenses to the intellectual property of any Contributor under
|
||||
this Agreement, whether expressly, by implication, estoppel or
|
||||
otherwise. All rights in the Program not expressly granted under
|
||||
this Agreement are reserved.
|
||||
|
||||
This Agreement is governed by the laws of the State of New York and
|
||||
the intellectual property laws of the United States of America. No
|
||||
party to this Agreement will bring a legal action under this
|
||||
Agreement more than one year after the cause of action arose. Each
|
||||
party waives its rights to a jury trial in any resulting litigation.
|
21
lib/LICENSE-slf4j
Normal file
21
lib/LICENSE-slf4j
Normal file
@ -0,0 +1,21 @@
|
||||
Copyright (c) 2004-2008 QOS.ch
|
||||
All rights reserved.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
48
lib/antlr/BUCK
Normal file
48
lib/antlr/BUCK
Normal file
@ -0,0 +1,48 @@
|
||||
include_defs('//lib/maven.defs')
|
||||
|
||||
VERSION = '3.2'
|
||||
|
||||
maven_jar(
|
||||
name = 'java_runtime',
|
||||
id = 'org.antlr:antlr-runtime:' + VERSION,
|
||||
sha1 = '31c746001016c6226bd7356c9f87a6a084ce3715',
|
||||
license = 'antlr',
|
||||
)
|
||||
|
||||
java_binary(
|
||||
name = 'antlr-tool',
|
||||
main_class = 'org.antlr.Tool',
|
||||
deps = [':tool'],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'stringtemplate',
|
||||
id = 'org.antlr:stringtemplate:' + VERSION,
|
||||
sha1 = '6fe2e3bb57daebd1555494818909f9664376dd6c',
|
||||
license = 'antlr',
|
||||
attach_source = False,
|
||||
visibility = [],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'tool',
|
||||
id = 'org.antlr:antlr:' + VERSION,
|
||||
sha1 = '6b0acabea7bb3da058200a77178057e47e25cb69',
|
||||
license = 'antlr',
|
||||
deps = [
|
||||
':java_runtime',
|
||||
':stringtemplate',
|
||||
':antlr27',
|
||||
],
|
||||
visibility = [],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'antlr27',
|
||||
id = 'antlr:antlr:2.7.7',
|
||||
sha1 = '83cd2cd674a217ade95a4bb83a8a14f351f48bd0',
|
||||
license = 'antlr',
|
||||
attach_source = False,
|
||||
visibility = [],
|
||||
)
|
20
lib/bouncycastle/BUCK
Normal file
20
lib/bouncycastle/BUCK
Normal file
@ -0,0 +1,20 @@
|
||||
include_defs('//lib/maven.defs')
|
||||
|
||||
# This version must match the version that also appears in
|
||||
# gerrit-pgm/src/main/resources/com/google/gerrit/pgm/libraries.config
|
||||
VERSION = '1.44'
|
||||
|
||||
maven_jar(
|
||||
name = 'bcprov',
|
||||
id = 'org.bouncycastle:bcprov-jdk16:' + VERSION,
|
||||
sha1 = '6327a5f7a3dc45e0fd735adb5d08c5a74c05c20c',
|
||||
license = 'DO_NOT_DISTRIBUTE', #'bouncycastle'
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'bcpg',
|
||||
id = 'org.bouncycastle:bcpg-jdk16:' + VERSION,
|
||||
sha1 = 'ee14f5a29cb3cf9c1edec034ab16e1bbd26e9647',
|
||||
license = 'DO_NOT_DISTRIBUTE', #'bouncycastle'
|
||||
deps = [':bcprov'],
|
||||
)
|
79
lib/commons/BUCK
Normal file
79
lib/commons/BUCK
Normal file
@ -0,0 +1,79 @@
|
||||
include_defs('//lib/maven.defs')
|
||||
|
||||
maven_jar(
|
||||
name = 'codec',
|
||||
id = 'commons-codec:commons-codec:1.4',
|
||||
sha1 = '4216af16d38465bbab0f3dff8efa14204f7a399a',
|
||||
license = 'Apache2.0',
|
||||
exclude = ['META-INF/LICENSE.txt', 'META-INF/NOTICE.txt'],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'collections',
|
||||
id = 'commons-collections:commons-collections:3.2.1',
|
||||
sha1 = '761ea405b9b37ced573d2df0d1e3a4e0f9edc668',
|
||||
license = 'Apache2.0',
|
||||
exclude = ['META-INF/LICENSE.txt', 'META-INF/NOTICE.txt'],
|
||||
attach_source = False,
|
||||
visibility = ['//lib:velocity'],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'dbcp',
|
||||
id = 'commons-dbcp:commons-dbcp:1.4',
|
||||
sha1 = '30be73c965cc990b153a100aaaaafcf239f82d39',
|
||||
license = 'Apache2.0',
|
||||
deps = [':pool'],
|
||||
exclude = [
|
||||
'META-INF/LICENSE.txt',
|
||||
'META-INF/NOTICE.txt',
|
||||
'testpool.jocl'
|
||||
],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'lang',
|
||||
id = 'commons-lang:commons-lang:2.5',
|
||||
sha1 = 'b0236b252e86419eef20c31a44579d2aee2f0a69',
|
||||
license = 'Apache2.0',
|
||||
exclude = ['META-INF/LICENSE.txt', 'META-INF/NOTICE.txt'],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'logging',
|
||||
id = 'commons-logging:commons-logging:1.1.1',
|
||||
sha1 = '5043bfebc3db072ed80fbd362e7caf00e885d8ae',
|
||||
license = 'Apache2.0',
|
||||
exclude = [
|
||||
'META-INF/LICENSE',
|
||||
'META-INF/NOTICE',
|
||||
],
|
||||
attach_source = False,
|
||||
visibility = ['//lib/openid:'],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'net',
|
||||
id = 'commons-net:commons-net:2.2',
|
||||
sha1 = '07993c12f63c78378f8c90de4bc2ee62daa7ca3a',
|
||||
license = 'Apache2.0',
|
||||
exclude = ['META-INF/LICENSE.txt', 'META-INF/NOTICE.txt'],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'pool',
|
||||
id = 'commons-pool:commons-pool:1.5.5',
|
||||
sha1 = '7d8ffbdc47aa0c5a8afe5dc2aaf512f369f1d19b',
|
||||
license = 'Apache2.0',
|
||||
attach_source = False,
|
||||
exclude = ['META-INF/LICENSE.txt', 'META-INF/NOTICE.txt'],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'oro',
|
||||
id = 'oro:oro:2.0.8',
|
||||
sha1 = '5592374f834645c4ae250f4c9fbb314c9369d698',
|
||||
license = 'Apache1.1',
|
||||
attach_source = False,
|
||||
exclude = ['META-INF/LICENSE'],
|
||||
)
|
55
lib/guice/BUCK
Normal file
55
lib/guice/BUCK
Normal file
@ -0,0 +1,55 @@
|
||||
include_defs('//lib/maven.defs')
|
||||
|
||||
VERSION = '3.0'
|
||||
EXCLUDE = [
|
||||
'META-INF/DEPENDENCIES',
|
||||
'META-INF/LICENSE',
|
||||
'META-INF/NOTICE',
|
||||
]
|
||||
|
||||
maven_jar(
|
||||
name = 'guice',
|
||||
id = 'com.google.inject:guice:' + VERSION,
|
||||
sha1 = '9d84f15fe35e2c716a02979fb62f50a29f38aefa',
|
||||
license = 'Apache2.0',
|
||||
deps = [
|
||||
':javax-inject',
|
||||
':aopalliance',
|
||||
],
|
||||
exclude = EXCLUDE,
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'guice-assistedinject',
|
||||
id = 'com.google.inject.extensions:guice-assistedinject:' + VERSION,
|
||||
sha1 = '544449ddb19f088dcde44f055d30a08835a954a7',
|
||||
license = 'Apache2.0',
|
||||
deps = [':guice'],
|
||||
exclude = EXCLUDE,
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'guice-servlet',
|
||||
id = 'com.google.inject.extensions:guice-servlet:' + VERSION,
|
||||
sha1 = '610cde0e8da5a8b7d8efb8f0b8987466ffebaaf9',
|
||||
license = 'Apache2.0',
|
||||
deps = [':guice'],
|
||||
exclude = EXCLUDE,
|
||||
)
|
||||
|
||||
|
||||
maven_jar(
|
||||
name = 'aopalliance',
|
||||
id = 'aopalliance:aopalliance:1.0',
|
||||
sha1 = '0235ba8b489512805ac13a8f9ea77a1ca5ebe3e8',
|
||||
license = 'PublicDomain',
|
||||
visibility = ['//lib/guice:guice'],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'javax-inject',
|
||||
id = 'javax.inject:javax.inject:1',
|
||||
sha1 = '6975da39a7040257bd51d21a231b76c915872d38',
|
||||
license = 'Apache2.0',
|
||||
visibility = ['//lib/guice:guice'],
|
||||
)
|
38
lib/gwt/BUCK
Normal file
38
lib/gwt/BUCK
Normal file
@ -0,0 +1,38 @@
|
||||
include_defs('//lib/maven.defs')
|
||||
|
||||
VERSION = '2.5.0'
|
||||
|
||||
maven_jar(
|
||||
name = 'user',
|
||||
id = 'com.google.gwt:gwt-user:' + VERSION,
|
||||
sha1 = 'bbec0cc2ba81a2601aac55e3783ad0d0ff7d45ac',
|
||||
license = 'Apache2.0',
|
||||
attach_source = False,
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'dev',
|
||||
id = 'com.google.gwt:gwt-dev:' + VERSION,
|
||||
sha1 = '3c227524e0978036e76e73e125ac8535a9e8fd7c',
|
||||
license = 'Apache2.0',
|
||||
deps = [
|
||||
':javax-validation',
|
||||
':javax-validation_src',
|
||||
],
|
||||
attach_source = False,
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'javax-validation',
|
||||
id = 'javax.validation:validation-api:1.0.0.GA',
|
||||
bin_sha1 = 'b6bd7f9d78f6fdaa3c37dae18a4bd298915f328e',
|
||||
src_sha1 = '7a561191db2203550fbfa40d534d4997624cd369',
|
||||
license = 'Apache2.0',
|
||||
visibility = [],
|
||||
)
|
||||
|
||||
python_binary(
|
||||
name = 'compiler',
|
||||
main = 'compiler.py',
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
68
lib/gwt/compiler.py
Executable file
68
lib/gwt/compiler.py
Executable file
@ -0,0 +1,68 @@
|
||||
#!/usr/bin/python
|
||||
# Copyright (C) 2013 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
from multiprocessing import cpu_count
|
||||
from os import environ, fchmod, makedirs, mkdir, path
|
||||
from subprocess import Popen, PIPE
|
||||
from sys import argv, stderr
|
||||
|
||||
cp, opt, end, TMP = [], [], False, environ['TMP']
|
||||
module, outzip = argv[1], argv[2]
|
||||
|
||||
for a in argv[3:]:
|
||||
if end:
|
||||
if a.endswith('.jar'):
|
||||
cp.append(a)
|
||||
elif a == '--':
|
||||
end = True
|
||||
else:
|
||||
opt.append(a)
|
||||
|
||||
if not outzip.endswith('.zip'):
|
||||
print >>stderr, "%s must end with .zip" % outzip
|
||||
exit(1)
|
||||
|
||||
rebuild = outzip[:-4] + '.rebuild'
|
||||
for d in ['deploy', 'unit_cache', 'work']:
|
||||
mkdir(path.join(TMP, d))
|
||||
if not path.exists(path.dirname(outzip)):
|
||||
makedirs(path.dirname(outzip))
|
||||
|
||||
cmd = [
|
||||
'java', '-Xmx512m',
|
||||
'-Djava.io.tmpdir=' + TMP,
|
||||
'-Dgwt.normalizeTimestamps=true',
|
||||
'-Dgwt.persistentunitcachedir=' + path.join(TMP, 'unit_cache'),
|
||||
'-classpath', ':'.join(cp),
|
||||
'com.google.gwt.dev.Compiler',
|
||||
'-deploy', path.join(TMP, 'deploy'),
|
||||
'-workDir', path.join(TMP, 'work'),
|
||||
'-war', outzip,
|
||||
'-localWorkers', str(cpu_count()),
|
||||
] + opt + [module]
|
||||
|
||||
gwt = Popen(cmd, stdout = PIPE, stderr = PIPE)
|
||||
out, err = gwt.communicate()
|
||||
if gwt.returncode != 0:
|
||||
print >>stderr, out + err
|
||||
exit(gwt.returncode)
|
||||
|
||||
with open(rebuild, 'w') as fd:
|
||||
def shquote(s):
|
||||
return s.replace("'", "'\\''")
|
||||
print >>fd, '#!/bin/sh'
|
||||
print >>fd, "PATH='%s'" % shquote(environ['PATH'])
|
||||
print >>fd, 'buck build "$1" || exit'
|
||||
fchmod(fd.fileno(), 0755)
|
77
lib/jetty/BUCK
Normal file
77
lib/jetty/BUCK
Normal file
@ -0,0 +1,77 @@
|
||||
include_defs('//lib/maven.defs')
|
||||
|
||||
VERSION = '8.1.7.v20120910'
|
||||
EXCLUDE = ['about.html']
|
||||
|
||||
maven_jar(
|
||||
name = 'servlet',
|
||||
id = 'org.eclipse.jetty:jetty-servlet:' + VERSION,
|
||||
sha1 = '93da01e3ea26e70449e9a1a0affa5c31436be5a0',
|
||||
license = 'Apache2.0',
|
||||
deps = [
|
||||
':security',
|
||||
'//lib:servlet-api-3_0',
|
||||
],
|
||||
exclude = EXCLUDE,
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'security',
|
||||
id = 'org.eclipse.jetty:jetty-security:' + VERSION,
|
||||
sha1 = '8d78beb7a07f4cccee05a3f16a264f1025946258',
|
||||
license = 'Apache2.0',
|
||||
deps = [':server'],
|
||||
exclude = EXCLUDE,
|
||||
visibility = [],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'server',
|
||||
id = 'org.eclipse.jetty:jetty-server:' + VERSION,
|
||||
sha1 = '6c81f733f28713919e99c2f8952e6ca5178033cd',
|
||||
license = 'Apache2.0',
|
||||
deps = [
|
||||
':continuation',
|
||||
':http',
|
||||
],
|
||||
exclude = EXCLUDE,
|
||||
visibility = [],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'continuation',
|
||||
id = 'org.eclipse.jetty:jetty-continuation:' + VERSION,
|
||||
sha1 = 'f60cfe6267038000b459508529c88737601081e4',
|
||||
license = 'Apache2.0',
|
||||
exclude = EXCLUDE,
|
||||
visibility = [],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'http',
|
||||
id = 'org.eclipse.jetty:jetty-http:' + VERSION,
|
||||
sha1 = '10126433876cd74534695f7f99c4362596555493',
|
||||
license = 'Apache2.0',
|
||||
deps = [':io'],
|
||||
exclude = EXCLUDE,
|
||||
visibility = [],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'io',
|
||||
id = 'org.eclipse.jetty:jetty-io:' + VERSION,
|
||||
sha1 = 'a81f746ae1b10c37e1bb0a01d1374c202c0bd549',
|
||||
license = 'Apache2.0',
|
||||
deps = [':util'],
|
||||
exclude = EXCLUDE,
|
||||
visibility = [],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'util',
|
||||
id = 'org.eclipse.jetty:jetty-util:' + VERSION,
|
||||
sha1 = '7eb2004ab2c22fd3b00095bd9ba0f32a9e88f6a5',
|
||||
license = 'Apache2.0',
|
||||
exclude = EXCLUDE,
|
||||
visibility = [],
|
||||
)
|
65
lib/jgit/BUCK
Normal file
65
lib/jgit/BUCK
Normal file
@ -0,0 +1,65 @@
|
||||
include_defs('//lib/maven.defs')
|
||||
|
||||
REPO = GERRIT
|
||||
VERS = '2.3.1.201302201838-r.211-g36144e1'
|
||||
|
||||
maven_jar(
|
||||
name = 'jgit',
|
||||
id = 'org.eclipse.jgit:org.eclipse.jgit:' + VERS,
|
||||
bin_sha1 = '4328d64fb5f5a5a07795965801850a10901b0979',
|
||||
src_sha1 = 'e55f1e231138df01edee9014df94ca3c6cbf0d8e',
|
||||
license = 'jgit',
|
||||
repository = REPO,
|
||||
deps = [':ewah'],
|
||||
exclude = [
|
||||
'META-INF/eclipse.inf',
|
||||
'about.html',
|
||||
'plugin.properties',
|
||||
],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'jgit-servlet',
|
||||
id = 'org.eclipse.jgit:org.eclipse.jgit.http.server:' + VERS,
|
||||
sha1 = '269b4096780247a26368985b05e4b66f16785946',
|
||||
license = 'jgit',
|
||||
repository = REPO,
|
||||
deps = [':jgit'],
|
||||
exclude = [
|
||||
'about.html',
|
||||
'plugin.properties',
|
||||
],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'junit',
|
||||
id = 'org.eclipse.jgit:org.eclipse.jgit.junit:' + VERS,
|
||||
sha1 = '0fa01088b0f7a847dabafec59318221828832b36',
|
||||
license = 'DO_NOT_DISTRIBUTE',
|
||||
repository = REPO,
|
||||
deps = [':jgit'],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'ewah',
|
||||
id = 'com.googlecode.javaewah:JavaEWAH:0.5.6',
|
||||
sha1 = '1207c0fc8552d4f5f574b50f29321d923521128e',
|
||||
license = 'Apache2.0',
|
||||
)
|
||||
|
||||
prebuilt_jar(
|
||||
name = 'Edit',
|
||||
binary_jar = genfile('edit-src.jar'),
|
||||
deps = [':jgit_edit_src'],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
genrule(
|
||||
name = 'jgit_edit_src',
|
||||
cmd = 'unzip -qd $TMP $SRCS org/eclipse/jgit/diff/Edit.java;' +
|
||||
'cd $TMP;' +
|
||||
'zip -Dq $OUT org/eclipse/jgit/diff/Edit.java',
|
||||
srcs = [genfile('jgit/org.eclipse.jgit-%s-src.jar' % VERS)],
|
||||
out = 'edit-src.jar',
|
||||
deps = [':jgit_src']
|
||||
)
|
24
lib/log/BUCK
Normal file
24
lib/log/BUCK
Normal file
@ -0,0 +1,24 @@
|
||||
include_defs('//lib/maven.defs')
|
||||
|
||||
maven_jar(
|
||||
name = 'api',
|
||||
id = 'org.slf4j:slf4j-api:1.6.1',
|
||||
sha1 = '6f3b8a24bf970f17289b234284c94f43eb42f0e4',
|
||||
license = 'slf4j',
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'impl_log4j',
|
||||
id = 'org.slf4j:slf4j-log4j12:1.6.1',
|
||||
sha1 = 'bd245d6746cdd4e6203e976e21d597a46f115802',
|
||||
license = 'slf4j',
|
||||
deps = [':log4j'],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'log4j',
|
||||
id = 'log4j:log4j:1.2.16',
|
||||
sha1 = '7999a63bfccbc7c247a9aea10d83d4272bd492c6',
|
||||
license = 'Apache2.0',
|
||||
exclude = ['META-INF/LICENSE', 'META-INF/NOTICE'],
|
||||
)
|
106
lib/maven.defs
Normal file
106
lib/maven.defs
Normal file
@ -0,0 +1,106 @@
|
||||
# Copyright (C) 2013 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
GERRIT = 'http://gerrit-maven.commondatastorage.googleapis.com'
|
||||
MAVEN_CENTRAL = 'http://repo1.maven.org/maven2'
|
||||
|
||||
def define_license(name):
|
||||
n = 'LICENSE-' + name
|
||||
genrule(
|
||||
name = n,
|
||||
cmd = 'ln -s $SRCS $OUT',
|
||||
srcs = [n],
|
||||
out = n,
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
def maven_jar(
|
||||
name,
|
||||
id,
|
||||
license,
|
||||
exclude = [],
|
||||
exclude_java_sources = False,
|
||||
deps = [],
|
||||
sha1 = '', bin_sha1 = '', src_sha1 = '',
|
||||
repository = MAVEN_CENTRAL,
|
||||
attach_source = True,
|
||||
visibility = ['PUBLIC']):
|
||||
from os import path
|
||||
|
||||
parts = id.split(':')
|
||||
if len(parts) != 3:
|
||||
raise NameError('expected id="groupId:artifactId:version"')
|
||||
group, artifact, version = parts
|
||||
|
||||
jar = path.join(name, artifact.lower() + '-' + version)
|
||||
url = '/'.join([
|
||||
repository,
|
||||
group.replace('.', '/'), artifact, version,
|
||||
artifact + '-' + version])
|
||||
|
||||
binjar = jar + '.jar'
|
||||
binurl = url + '.jar'
|
||||
|
||||
srcjar = jar + '-src.jar'
|
||||
srcurl = url + '-sources.jar'
|
||||
|
||||
cmd = ['${//tools:download_jar}', '-o', '$OUT', '-u', binurl]
|
||||
if sha1:
|
||||
cmd.extend(['-v', sha1])
|
||||
elif bin_sha1:
|
||||
cmd.extend(['-v', bin_sha1])
|
||||
for x in exclude:
|
||||
cmd.extend(['-x', x])
|
||||
if exclude_java_sources:
|
||||
cmd.append('--exclude_java_sources')
|
||||
|
||||
genrule(
|
||||
name = name + '__download_bin',
|
||||
cmd = ' '.join(cmd),
|
||||
srcs = [],
|
||||
deps = ['//tools:download_jar'],
|
||||
out = binjar,
|
||||
)
|
||||
download = [':' + name + '__download_bin']
|
||||
license = ['//lib:LICENSE-' + license]
|
||||
|
||||
if src_sha1 or attach_source:
|
||||
cmd = ['${//tools:download_jar}', '-o', '$OUT', '-u', srcurl]
|
||||
if src_sha1:
|
||||
cmd.extend(['-v', src_sha1])
|
||||
genrule(
|
||||
name = name + '__download_src',
|
||||
cmd = ' '.join(cmd),
|
||||
srcs = [],
|
||||
deps = ['//tools:download_jar'],
|
||||
out = srcjar,
|
||||
)
|
||||
if src_sha1:
|
||||
prebuilt_jar(
|
||||
name = name + '_src',
|
||||
binary_jar = genfile(srcjar),
|
||||
deps = [':' + name + '__download_src'] + license,
|
||||
visibility = visibility,
|
||||
)
|
||||
download.append(':' + name + '__download_src')
|
||||
else:
|
||||
srcjar = None
|
||||
|
||||
prebuilt_jar(
|
||||
name = name,
|
||||
deps = deps + download + license,
|
||||
binary_jar = genfile(binjar),
|
||||
source_jar = genfile(srcjar) if srcjar else None,
|
||||
visibility = visibility,
|
||||
)
|
24
lib/mina/BUCK
Normal file
24
lib/mina/BUCK
Normal file
@ -0,0 +1,24 @@
|
||||
include_defs('//lib/maven.defs')
|
||||
|
||||
EXCLUDE = [
|
||||
'META-INF/DEPENDENCIES',
|
||||
'META-INF/LICENSE',
|
||||
'META-INF/NOTICE',
|
||||
]
|
||||
|
||||
maven_jar(
|
||||
name = 'core',
|
||||
id = 'org.apache.mina:mina-core:2.0.5',
|
||||
sha1 = '0e134a3761833a3c28c79331e806f64f985a9eec',
|
||||
license = 'Apache2.0',
|
||||
exclude = EXCLUDE,
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'sshd',
|
||||
id = 'org.apache.sshd:sshd-core:0.6.0',
|
||||
sha1 = '2b9a119dd77a1decec78b0c511ba400c8655e96e',
|
||||
license = 'Apache2.0',
|
||||
deps = [':core'],
|
||||
exclude = EXCLUDE,
|
||||
)
|
73
lib/openid/BUCK
Normal file
73
lib/openid/BUCK
Normal file
@ -0,0 +1,73 @@
|
||||
include_defs('//lib/maven.defs')
|
||||
|
||||
java_library(
|
||||
name = 'consumer',
|
||||
deps = [
|
||||
':http-client',
|
||||
':nekohtml',
|
||||
':nodeps',
|
||||
],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'nodeps',
|
||||
id = 'org.openid4java:openid4java-nodeps:0.9.6',
|
||||
sha1 = '52ca394f5f6d38b78e35a5a6a0a341dc5b3aaf34',
|
||||
license = 'Apache2.0',
|
||||
deps = [
|
||||
'//lib/commons:logging',
|
||||
'//lib/guice:guice',
|
||||
],
|
||||
visibility = [],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'nekohtml',
|
||||
id = 'net.sourceforge.nekohtml:nekohtml:1.9.10',
|
||||
sha1 = '14052461031a7054aa094f5573792feb6686d3de',
|
||||
license = 'Apache2.0',
|
||||
deps = [':xerces'],
|
||||
attach_source = False,
|
||||
visibility = [],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'xerces',
|
||||
id = 'xerces:xercesImpl:2.8.1',
|
||||
sha1 = '25101e37ec0c907db6f0612cbf106ee519c1aef1',
|
||||
license = 'Apache2.0',
|
||||
attach_source = False,
|
||||
visibility = [],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'http-client',
|
||||
id = 'org.apache.httpcomponents:httpclient:4.0',
|
||||
sha1 = 'a76d7fd8033d48b4c67b4ccf159abb080c1059b6',
|
||||
license = 'Apache2.0',
|
||||
deps = [
|
||||
':http-core',
|
||||
'//lib/commons:codec',
|
||||
'//lib/commons:logging',
|
||||
],
|
||||
exclude = [
|
||||
'META-INF/DEPENDENCIES',
|
||||
'META-INF/LICENSE',
|
||||
'META-INF/NOTICE',
|
||||
],
|
||||
visibility = ['//gerrit-acceptance-tests:'],
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'http-core',
|
||||
id = 'org.apache.httpcomponents:httpcore:4.0.1',
|
||||
sha1 = 'e813b8722c387b22e1adccf7914729db09bcb4a9',
|
||||
license = 'Apache2.0',
|
||||
exclude = [
|
||||
'META-INF/DEPENDENCIES',
|
||||
'META-INF/LICENSE',
|
||||
'META-INF/NOTICE',
|
||||
],
|
||||
visibility = [],
|
||||
)
|
23
lib/prolog/BUCK
Normal file
23
lib/prolog/BUCK
Normal file
@ -0,0 +1,23 @@
|
||||
include_defs('//lib/maven.defs')
|
||||
|
||||
maven_jar(
|
||||
name = 'prolog-cafe',
|
||||
id = 'com.googlecode.prolog-cafe:PrologCafe:1.3',
|
||||
sha1 = '5e0fbf18e8c98c4113f9acc978306884a1152870',
|
||||
license = 'prologcafe',
|
||||
repository = GERRIT,
|
||||
)
|
||||
|
||||
java_binary(
|
||||
name = 'compiler',
|
||||
main_class = 'BuckPrologCompiler',
|
||||
deps = [':compiler_lib'],
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
java_library(
|
||||
name = 'compiler_lib',
|
||||
srcs = ['java/BuckPrologCompiler.java'],
|
||||
deps = [':prolog-cafe'],
|
||||
visibility = ['//:eclipse_classpath'],
|
||||
)
|
38
lib/prolog/DEFS
Normal file
38
lib/prolog/DEFS
Normal file
@ -0,0 +1,38 @@
|
||||
# Copyright (C) 2013 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
def prolog_cafe_library(
|
||||
name,
|
||||
srcs,
|
||||
deps = [],
|
||||
visibility = []):
|
||||
genrule(
|
||||
name = name + '_prolog2java',
|
||||
cmd = '${//lib/prolog:compiler} $SRCS $DEPS $OUT',
|
||||
srcs = srcs,
|
||||
deps = [
|
||||
'//lib/prolog:compiler',
|
||||
'//lib/prolog:prolog-cafe',
|
||||
] + deps,
|
||||
out = name + '.jar',
|
||||
)
|
||||
prebuilt_jar(
|
||||
name = name,
|
||||
binary_jar = genfile(name + '.jar'),
|
||||
deps = [
|
||||
':' + name + '_prolog2java',
|
||||
'//lib/prolog:prolog-cafe',
|
||||
] + deps,
|
||||
visibility = visibility,
|
||||
)
|
166
lib/prolog/java/BuckPrologCompiler.java
Normal file
166
lib/prolog/java/BuckPrologCompiler.java
Normal file
@ -0,0 +1,166 @@
|
||||
// Copyright (C) 2013 The Android Open Source Project
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.jar.JarEntry;
|
||||
import java.util.jar.JarOutputStream;
|
||||
|
||||
import javax.tools.Diagnostic;
|
||||
import javax.tools.DiagnosticCollector;
|
||||
import javax.tools.JavaCompiler;
|
||||
import javax.tools.JavaFileObject;
|
||||
import javax.tools.StandardJavaFileManager;
|
||||
import javax.tools.ToolProvider;
|
||||
|
||||
import com.googlecode.prolog_cafe.compiler.CompileException;
|
||||
import com.googlecode.prolog_cafe.compiler.Compiler;
|
||||
|
||||
public class BuckPrologCompiler {
|
||||
public static void main(String[] argv) throws IOException, CompileException {
|
||||
List<File> srcs = new ArrayList<File>();
|
||||
List<File> jars = new ArrayList<File>();
|
||||
for (int i = 0; i < argv.length - 1; i++) {
|
||||
String s = argv[i];
|
||||
if (s.endsWith(".pl")) {
|
||||
srcs.add(new File(s));
|
||||
} else if (s.endsWith(".jar")) {
|
||||
jars.add(new File(s));
|
||||
}
|
||||
}
|
||||
|
||||
File out = new File(argv[argv.length - 1]);
|
||||
File java = tmpdir("java");
|
||||
File classes = tmpdir("classes");
|
||||
for (File src : srcs) {
|
||||
new Compiler().prologToJavaSource(src.getPath(), java.getPath());
|
||||
}
|
||||
javac(jars, java, classes);
|
||||
jar(out, classes);
|
||||
}
|
||||
|
||||
private static File tmpdir(String name) throws IOException {
|
||||
File d = File.createTempFile(name + "_", "");
|
||||
if (!d.delete() || !d.mkdir()) {
|
||||
throw new IOException("Cannot mkdir " + d);
|
||||
}
|
||||
return d;
|
||||
}
|
||||
|
||||
private static void javac(List<File> cp, File java, File classes)
|
||||
throws IOException, CompileException {
|
||||
JavaCompiler javac = ToolProvider.getSystemJavaCompiler();
|
||||
if (javac == null) {
|
||||
throw new CompileException("JDK required (running inside of JRE)");
|
||||
}
|
||||
|
||||
DiagnosticCollector<JavaFileObject> d =
|
||||
new DiagnosticCollector<JavaFileObject>();
|
||||
StandardJavaFileManager fm = javac.getStandardFileManager(d, null, null);
|
||||
try {
|
||||
StringBuilder classpath = new StringBuilder();
|
||||
for (File jar : cp) {
|
||||
if (classpath.length() > 0) {
|
||||
classpath.append(File.pathSeparatorChar);
|
||||
}
|
||||
classpath.append(jar.getPath());
|
||||
}
|
||||
ArrayList<String> args = new ArrayList<String>();
|
||||
args.add("-g:none");
|
||||
args.add("-nowarn");
|
||||
if (classpath.length() > 0) {
|
||||
args.add("-classpath");
|
||||
args.add(classpath.toString());
|
||||
}
|
||||
args.add("-d");
|
||||
args.add(classes.getPath());
|
||||
if (!javac.getTask(null, fm, d, args, null,
|
||||
fm.getJavaFileObjectsFromFiles(find(java, ".java"))).call()) {
|
||||
StringBuilder msg = new StringBuilder();
|
||||
for (Diagnostic<? extends JavaFileObject> err : d.getDiagnostics()) {
|
||||
msg.append('\n').append(err.getKind()).append(": ");
|
||||
if (err.getSource() != null) {
|
||||
msg.append(err.getSource().getName());
|
||||
}
|
||||
msg.append(':').append(err.getLineNumber()).append(": ");
|
||||
msg.append(err.getMessage(Locale.getDefault()));
|
||||
}
|
||||
throw new CompileException(msg.toString());
|
||||
}
|
||||
} finally {
|
||||
fm.close();
|
||||
}
|
||||
}
|
||||
|
||||
private static void jar(File jar, File classes) throws IOException {
|
||||
File tmp = File.createTempFile("prolog", ".jar", jar.getParentFile());
|
||||
try {
|
||||
JarOutputStream out = new JarOutputStream(new FileOutputStream(tmp));
|
||||
try {
|
||||
out.setLevel(9);
|
||||
add(out, classes, "");
|
||||
} finally {
|
||||
out.close();
|
||||
}
|
||||
if (!tmp.renameTo(jar)) {
|
||||
throw new IOException("Cannot create " + jar);
|
||||
}
|
||||
} finally {
|
||||
tmp.delete();
|
||||
}
|
||||
}
|
||||
|
||||
private static void add(JarOutputStream out, File classes, String prefix)
|
||||
throws IOException {
|
||||
for (String name : classes.list()) {
|
||||
File f = new File(classes, name);
|
||||
if (f.isDirectory()) {
|
||||
add(out, f, prefix + name + "/");
|
||||
continue;
|
||||
}
|
||||
|
||||
JarEntry e = new JarEntry(prefix + name);
|
||||
FileInputStream in = new FileInputStream(f);
|
||||
try {
|
||||
e.setTime(f.lastModified());
|
||||
out.putNextEntry(e);
|
||||
byte[] buf = new byte[16 << 10];
|
||||
int n;
|
||||
while (0 < (n = in.read(buf))) {
|
||||
out.write(buf, 0, n);
|
||||
}
|
||||
} finally {
|
||||
in.close();
|
||||
out.closeEntry();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static List<File> find(File dir, String extension) {
|
||||
ArrayList<File> list = new ArrayList<File>();
|
||||
for (File f : dir.listFiles()) {
|
||||
if (f.getName().endsWith(extension)) {
|
||||
list.add(f);
|
||||
} else if (f.isDirectory()) {
|
||||
list.addAll(find(f, extension));
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
}
|
36
plugins/BUCK
Normal file
36
plugins/BUCK
Normal file
@ -0,0 +1,36 @@
|
||||
BASE = get_base_path()
|
||||
CORE = [
|
||||
'commit-message-length-validator',
|
||||
'replication',
|
||||
'reviewnotes',
|
||||
]
|
||||
|
||||
# buck audit parses and resolves all deps even if not reachable
|
||||
# from the root(s) passed to audit. Filter dependencies to only
|
||||
# the ones that currently exist to allow buck to parse cleanly.
|
||||
# TODO(sop): buck should more lazily resolve deps
|
||||
def filter(names):
|
||||
from os import path
|
||||
h, n = [], []
|
||||
for p in names:
|
||||
if path.exists(path.join(BASE, p, 'BUCK')):
|
||||
h.append(p)
|
||||
else:
|
||||
n.append(p)
|
||||
return h, n
|
||||
HAVE, NEED = filter(CORE)
|
||||
|
||||
genrule(
|
||||
name = 'core',
|
||||
cmd = '' +
|
||||
';'.join(['echo >&2 plugins/'+n+' is required.' for n in NEED]) +
|
||||
(';echo >&2;exit 1;' if NEED else '') +
|
||||
'mkdir -p $TMP/WEB-INF/plugins &&' +
|
||||
'for s in $SRCS;do ln -s $s $TMP/WEB-INF/plugins;done;' +
|
||||
'cd $TMP &&' +
|
||||
'zip -qr $OUT .',
|
||||
srcs = [genfile('%s/%s.jar' % (n, n)) for n in CORE],
|
||||
deps = ['//%s/%s:%s' % (BASE, n, n) for n in HAVE],
|
||||
out = 'core.zip',
|
||||
visibility = ['//:release'],
|
||||
)
|
23
tools/BUCK
Normal file
23
tools/BUCK
Normal file
@ -0,0 +1,23 @@
|
||||
python_binary(
|
||||
name = 'download_jar',
|
||||
main = 'download_jar.py',
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
python_binary(
|
||||
name = 'pack_war',
|
||||
main = 'pack_war.py',
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
python_binary(
|
||||
name = 'eclipse_classpath',
|
||||
main = 'eclipse_classpath.py',
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
python_binary(
|
||||
name = 'eclipse_project',
|
||||
main = 'eclipse_project.py',
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
80
tools/build.defs
Normal file
80
tools/build.defs
Normal file
@ -0,0 +1,80 @@
|
||||
# Copyright (C) 2013 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
DOCS = ['//Documentation:html.zip']
|
||||
LIBS = [
|
||||
'//gerrit-common:version',
|
||||
'//gerrit-war:init',
|
||||
'//gerrit-war:log4j-config',
|
||||
'//lib:postgresql',
|
||||
'//lib/log:impl_log4j',
|
||||
]
|
||||
PGMLIBS = ['//gerrit-pgm:pgm']
|
||||
|
||||
def scan_plugins():
|
||||
import os
|
||||
deps = []
|
||||
for n in os.listdir('plugins'):
|
||||
if os.path.exists(os.path.join('plugins', n, 'BUCK')):
|
||||
deps.append('//plugins/%s:%s__plugin__compile' % (n, n))
|
||||
return deps
|
||||
|
||||
def war(
|
||||
name,
|
||||
libs = [],
|
||||
pgmlibs = [],
|
||||
context = [],
|
||||
visibility = []
|
||||
):
|
||||
cmd = ['${//tools:pack_war}', '-o', '$OUT']
|
||||
for l in libs:
|
||||
cmd.extend(['--lib', l])
|
||||
for l in pgmlibs:
|
||||
cmd.extend(['--pgmlib', l])
|
||||
|
||||
src = []
|
||||
dep = []
|
||||
if context:
|
||||
root = get_base_path()
|
||||
if root:
|
||||
root = '/'.join(['..' for _ in root.split('/')]) + '/'
|
||||
for r in context:
|
||||
dep.append(r[:r.rindex('.')])
|
||||
if r.startswith('//'):
|
||||
r = root + r[2:]
|
||||
r = r.replace(':', '/')
|
||||
src.append(genfile(r))
|
||||
cmd.append('$SRCS')
|
||||
|
||||
genrule(
|
||||
name = name,
|
||||
cmd = ' '.join(cmd),
|
||||
srcs = src,
|
||||
deps = libs + pgmlibs + dep + ['//tools:pack_war'],
|
||||
out = name + '.war',
|
||||
visibility = visibility,
|
||||
)
|
||||
|
||||
def gerrit_war(name, ui = 'ui_optdbg', context = []):
|
||||
war(
|
||||
name = name,
|
||||
libs = LIBS,
|
||||
pgmlibs = PGMLIBS,
|
||||
context = [
|
||||
'//gerrit-main:main_bin.jar',
|
||||
'//gerrit-war:webapp_assets.zip',
|
||||
'//gerrit-gwtexpui:clippy_swf.zip',
|
||||
'//gerrit-gwtui:' + ui + '.zip',
|
||||
] + context,
|
||||
)
|
16
tools/daemon_ui_chrome.launch
Normal file
16
tools/daemon_ui_chrome.launch
Normal file
@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/gerrit/gerrit-main/src/main/java/Main.java"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="1"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
|
||||
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
|
||||
</listAttribute>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="Main"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="daemon --console-log --show-stack-trace -d ${resource_loc:/gerrit}/../test_site"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="gerrit"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dgerrit.browser=ui_chrome"/>
|
||||
</launchConfiguration>
|
13
tools/daemon_ui_dbg.launch
Normal file
13
tools/daemon_ui_dbg.launch
Normal file
@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/gerrit/gerrit-main/src/main/java/Main.java"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="1"/>
|
||||
</listAttribute>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="Main"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="daemon --console-log --show-stack-trace -d ${resource_loc:/gerrit}/../test_site"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="gerrit"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dgerrit.browser=ui_dbg"/>
|
||||
</launchConfiguration>
|
13
tools/daemon_ui_firefox.launch
Normal file
13
tools/daemon_ui_firefox.launch
Normal file
@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/gerrit/gerrit-main/src/main/java/Main.java"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="1"/>
|
||||
</listAttribute>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="Main"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="daemon --console-log --show-stack-trace -d ${resource_loc:/gerrit}/../test_site"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="gerrit"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dgerrit.browser=ui_firefox"/>
|
||||
</launchConfiguration>
|
13
tools/daemon_ui_ie9.launch
Normal file
13
tools/daemon_ui_ie9.launch
Normal file
@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/gerrit/gerrit-main/src/main/java/Main.java"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="1"/>
|
||||
</listAttribute>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="Main"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="daemon --console-log --show-stack-trace -d ${resource_loc:/gerrit}/../test_site"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="gerrit"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dgerrit.browser=ui_ie9"/>
|
||||
</launchConfiguration>
|
13
tools/daemon_ui_safari.launch
Normal file
13
tools/daemon_ui_safari.launch
Normal file
@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/gerrit/gerrit-main/src/main/java/Main.java"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="1"/>
|
||||
</listAttribute>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="Main"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="daemon --console-log --show-stack-trace -d ${resource_loc:/gerrit}/../test_site"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="gerrit"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dgerrit.browser=ui_safari"/>
|
||||
</launchConfiguration>
|
105
tools/download_jar.py
Executable file
105
tools/download_jar.py
Executable file
@ -0,0 +1,105 @@
|
||||
#!/usr/bin/python
|
||||
# Copyright (C) 2013 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
from hashlib import sha1
|
||||
from optparse import OptionParser
|
||||
from os import link, makedirs, path
|
||||
import shutil
|
||||
from subprocess import check_call
|
||||
from sys import stderr
|
||||
from zipfile import ZipFile, BadZipfile, LargeZipFile
|
||||
|
||||
def hashfile(p):
|
||||
d = sha1()
|
||||
with open(p, 'rb') as f:
|
||||
while True:
|
||||
b = f.read(8192)
|
||||
if not b:
|
||||
break
|
||||
d.update(b)
|
||||
return d.hexdigest()
|
||||
|
||||
def safe_mkdirs(d):
|
||||
if path.isdir(d):
|
||||
return
|
||||
try:
|
||||
makedirs(d)
|
||||
except OSError as err:
|
||||
if not path.isdir(d):
|
||||
raise err
|
||||
|
||||
opts = OptionParser()
|
||||
opts.add_option('-o', help='local output file')
|
||||
opts.add_option('-u', help='URL to download')
|
||||
opts.add_option('-v', help='expected content SHA-1')
|
||||
opts.add_option('-x', action='append', help='file to delete from ZIP')
|
||||
opts.add_option('--exclude_java_sources', action='store_true')
|
||||
args, _ = opts.parse_args()
|
||||
|
||||
root_dir = args.o
|
||||
while root_dir:
|
||||
root_dir, n = path.split(root_dir)
|
||||
if n == 'buck-out':
|
||||
break
|
||||
|
||||
cache_ent = path.join(
|
||||
root_dir,
|
||||
'buck-cache',
|
||||
'%s-%s' % (path.basename(args.o), sha1(args.u).hexdigest()))
|
||||
|
||||
if not path.exists(cache_ent):
|
||||
try:
|
||||
safe_mkdirs(path.dirname(cache_ent))
|
||||
check_call(['curl', '-sfo', cache_ent, args.u])
|
||||
except OSError as err:
|
||||
print >>stderr, "error using curl: %s" % str(err)
|
||||
exit(1)
|
||||
|
||||
if args.v:
|
||||
have = hashfile(cache_ent)
|
||||
if args.v != have:
|
||||
o = cache_ent[len(root_dir) + 1:]
|
||||
print >>stderr, (
|
||||
'%s:\n' +
|
||||
'expected %s\n' +
|
||||
'received %s\n' +
|
||||
' %s\n') % (args.u, args.v, have, o)
|
||||
exit(1)
|
||||
|
||||
exclude = []
|
||||
if args.x:
|
||||
exclude += args.x
|
||||
if args.exclude_java_sources:
|
||||
try:
|
||||
zf = ZipFile(cache_ent, 'r')
|
||||
try:
|
||||
for n in zf.namelist():
|
||||
if n.endswith('.java'):
|
||||
exclude.append(n)
|
||||
finally:
|
||||
zf.close()
|
||||
except (BadZipfile, LargeZipFile) as err:
|
||||
print >>stderr, "error opening %s: %s" % (cache_ent, str(err))
|
||||
exit(1)
|
||||
|
||||
safe_mkdirs(path.dirname(args.o))
|
||||
if exclude:
|
||||
shutil.copyfile(cache_ent, args.o)
|
||||
check_call(['zip', '-d', args.o] + exclude)
|
||||
else:
|
||||
try:
|
||||
link(cache_ent, args.o)
|
||||
except OSError as err:
|
||||
symlink(cache_ent, args.o)
|
118
tools/eclipse_classpath.py
Executable file
118
tools/eclipse_classpath.py
Executable file
@ -0,0 +1,118 @@
|
||||
#!/usr/bin/python
|
||||
# Copyright (C) 2013 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# TODO(sop): Remove hack after Buck supports Eclipse
|
||||
|
||||
from os import path, link
|
||||
import re
|
||||
from subprocess import Popen, PIPE
|
||||
from sys import argv
|
||||
from xml.dom import minidom
|
||||
|
||||
OUT = argv[1] if len(argv) >= 2 else None
|
||||
ROOT = path.dirname(path.dirname(path.abspath(__file__)))
|
||||
MAIN = ['//:eclipse_classpath']
|
||||
GWT = ['//gerrit-gwtui:ui_module']
|
||||
JRE = '/'.join([
|
||||
'org.eclipse.jdt.launching.JRE_CONTAINER',
|
||||
'org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType',
|
||||
'JavaSE-1.6',
|
||||
])
|
||||
|
||||
def query_classpath(targets):
|
||||
deps = []
|
||||
p = Popen(['buck', 'audit', 'classpath'] + targets, stdout = PIPE)
|
||||
for line in p.stdout:
|
||||
deps.append(line.strip())
|
||||
s = p.wait()
|
||||
if s != 0:
|
||||
exit(s)
|
||||
return deps
|
||||
|
||||
def make_classpath():
|
||||
impl = minidom.getDOMImplementation()
|
||||
return impl.createDocument(None, 'classpath', None)
|
||||
|
||||
doc = make_classpath()
|
||||
src = set()
|
||||
lib = set()
|
||||
gwt_src = set()
|
||||
gwt_lib = set()
|
||||
|
||||
def classpathentry(kind, path, src = None):
|
||||
e = doc.createElement('classpathentry')
|
||||
e.setAttribute('kind', kind)
|
||||
e.setAttribute('path', path)
|
||||
if src:
|
||||
e.setAttribute('sourcepath', src)
|
||||
doc.documentElement.appendChild(e)
|
||||
|
||||
java_library = re.compile(r'[^/]+/gen/(.*)/lib__[^/]+__output/[^/]+[.]jar$')
|
||||
for p in query_classpath(MAIN):
|
||||
if p.endswith('-src.jar'):
|
||||
# gwt_module() depends on -src.jar for Java to JavaScript compiles.
|
||||
gwt_lib.add(p)
|
||||
continue
|
||||
|
||||
if p.startswith('buck-out/gen/lib/gwt/'):
|
||||
# gwt_module() depends on huge shaded GWT JARs that import
|
||||
# incorrect versions of classes for Gerrit. Collect into
|
||||
# a private grouping for later use.
|
||||
gwt_lib.add(p)
|
||||
continue
|
||||
|
||||
m = java_library.match(p)
|
||||
if m:
|
||||
src.add(m.group(1))
|
||||
else:
|
||||
lib.add(p)
|
||||
|
||||
for p in query_classpath(GWT):
|
||||
m = java_library.match(p)
|
||||
if m:
|
||||
gwt_src.add(m.group(1))
|
||||
|
||||
for s in sorted(src):
|
||||
p = path.join(s, 'java')
|
||||
if path.exists(p):
|
||||
classpathentry('src', p)
|
||||
continue
|
||||
|
||||
for env in ['main', 'test']:
|
||||
for type in ['java', 'resources']:
|
||||
p = path.join(s, 'src', env, type)
|
||||
if path.exists(p):
|
||||
classpathentry('src', p)
|
||||
|
||||
for libs in [lib, gwt_lib]:
|
||||
for j in sorted(libs):
|
||||
s = None
|
||||
if j.endswith('.jar'):
|
||||
s = j[:-4] + '-src.jar'
|
||||
if not path.exists(s):
|
||||
s = None
|
||||
classpathentry('lib', j, s)
|
||||
|
||||
for s in sorted(gwt_src):
|
||||
classpathentry('lib', path.join(ROOT, s, 'src', 'main', 'java'))
|
||||
|
||||
classpathentry('con', JRE)
|
||||
classpathentry('output', 'buck-out/classes')
|
||||
|
||||
p = path.join(ROOT, '.classpath')
|
||||
with open(p, 'w') as fd:
|
||||
doc.writexml(fd, addindent = ' ', newl = '\n', encoding='UTF-8')
|
||||
if OUT:
|
||||
link(p, OUT)
|
40
tools/eclipse_project.py
Executable file
40
tools/eclipse_project.py
Executable file
@ -0,0 +1,40 @@
|
||||
#!/usr/bin/python
|
||||
# Copyright (C) 2013 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# TODO(sop): Remove hack after Buck supports Eclipse
|
||||
|
||||
from os import path, symlink
|
||||
from sys import argv
|
||||
|
||||
OUT = argv[1]
|
||||
ROOT = path.dirname(path.dirname(path.abspath(__file__)))
|
||||
|
||||
p = path.join(ROOT, '.project')
|
||||
with open(p, 'w') as fd:
|
||||
print >>fd, """\
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>gerrit</name>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>\
|
||||
"""
|
||||
symlink(p, OUT)
|
16
tools/gwt_debug.launch
Normal file
16
tools/gwt_debug.launch
Normal file
@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/gerrit/buck-out/gen/lib/gwt/dev/gwt-dev-2.5.0.jar"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="1"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
|
||||
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
|
||||
</listAttribute>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.DevMode"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-startupUrl / -war ${resource_loc:/gerrit}/buck-out/gen/gerrit-gwtui/ui_dbg__tmp/war -server com.google.gerrit.gwtdebug.GerritDebugLauncher com.google.gerrit.GerritGwtUI"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="gerrit"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx256M -Dgwt.persistentunitcachedir=${resource_loc:/gerrit}/buck-out/gen/gerrit-gwtui/ui_dbg__tmp/unit_cache -Dgerrit.source_root=${resource_loc:/gerrit} -Dgerrit.site_path=${resource_loc:/gerrit}/../test_site -da:com.google.gwtexpui.globalkey.client.KeyCommandSet"/>
|
||||
</launchConfiguration>
|
53
tools/pack_war.py
Executable file
53
tools/pack_war.py
Executable file
@ -0,0 +1,53 @@
|
||||
#!/usr/bin/python
|
||||
# Copyright (C) 2013 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
from optparse import OptionParser
|
||||
from os import environ, makedirs, path, symlink
|
||||
from subprocess import check_call
|
||||
try:
|
||||
from subprocess import check_output
|
||||
except ImportError:
|
||||
from subprocess import Popen, PIPE
|
||||
def check_output(*cmd):
|
||||
return Popen(*cmd, stdout=PIPE).communicate()[0]
|
||||
|
||||
opts = OptionParser()
|
||||
opts.add_option('-o', help='path to write WAR to')
|
||||
opts.add_option('--lib', action='append', help='target for WEB-INF/lib')
|
||||
opts.add_option('--pgmlib', action='append', help='target for WEB-INF/pgm-lib')
|
||||
args, ctx = opts.parse_args()
|
||||
|
||||
war = environ['TMP']
|
||||
root = war[:war.index('buck-out')]
|
||||
jars = set()
|
||||
|
||||
def link_jars(libs, dir):
|
||||
makedirs(dir)
|
||||
cp = check_output(['buck', 'audit', 'classpath'] + libs)
|
||||
for j in cp.strip().splitlines():
|
||||
if j not in jars:
|
||||
jars.add(j)
|
||||
n = path.basename(j)
|
||||
if j.startswith('buck-out/gen/gerrit-'):
|
||||
n = j.split('/')[2] + '-' + n
|
||||
symlink(path.join(root, j), path.join(dir, n))
|
||||
|
||||
if args.lib:
|
||||
link_jars(args.lib, path.join(war, 'WEB-INF', 'lib'))
|
||||
if args.pgmlib:
|
||||
link_jars(args.pgmlib, path.join(war, 'WEB-INF', 'pgm-lib'))
|
||||
for s in ctx:
|
||||
check_call(['unzip', '-q', '-d', war, s])
|
||||
check_call(['zip', '-9qr', args.o, '.'], cwd = war)
|
Loading…
Reference in New Issue
Block a user