Class: Mxrb::Compiler::ProjectJarBuilder
- Inherits:
-
Object
- Object
- Mxrb::Compiler::ProjectJarBuilder
- Defined in:
- lib/mxrb/compiler/project_jar_builder.rb
Overview
Compiles generated/custom Java sources and writes project.jar without MxBuild or Gradle.
Constant Summary collapse
- LEGACY_UNUSED_IMPORTS =
['com.mendix.webui.CustomJavaAction'].freeze
Instance Method Summary collapse
- #build ⇒ Object
-
#initialize(mpr_path, deployment:, mendix_home:, java_home: nil) ⇒ ProjectJarBuilder
constructor
A new instance of ProjectJarBuilder.
Constructor Details
#initialize(mpr_path, deployment:, mendix_home:, java_home: nil) ⇒ ProjectJarBuilder
Returns a new instance of ProjectJarBuilder.
15 16 17 18 19 20 21 22 23 |
# File 'lib/mxrb/compiler/project_jar_builder.rb', line 15 def initialize(mpr_path, deployment:, mendix_home:, java_home: nil) @mpr_path = File.(mpr_path) @project_root = File.dirname(@mpr_path) @deployment = File.(deployment) @mendix_home = File.(mendix_home) @version = SourceModel.read(@mpr_path).version @java_major = Runtime::Toolchain.new(@mpr_path).plan.java_version @java_home = Runtime::JavaLocator.resolve(@java_major, configured: java_home) end |
Instance Method Details
#build ⇒ Object
25 26 27 28 29 30 31 32 33 |
# File 'lib/mxrb/compiler/project_jar_builder.rb', line 25 def build validate_java! output = File.join(@deployment, 'model', 'bundles', 'project.jar') JavaProxyGenerator.new(@mpr_path, project_root: @project_root).generate sources = Dir.glob(File.join(@project_root, 'javasource', '**', '*.java')).sort classpath = classpath_entries compile_and_package(output, sources, classpath) result(output, sources, classpath) end |