databricks-cli/bundle/config/mutator
Andrew Nester fa89db57e9
Enable `spark_jar_task` with local JAR libraries (#993)
## Changes
Previously local JAR paths were transformed to remote path during
initialisation and thus artifact building logic did not recognise such
libraries as local to be handled and uploaded.

Now it's possible to use spark_jar_tasks with local JAR libraries on
14.1+ DBR clusters

Example configuration
```
bundle:
  name: spark-jar

workspace:
  host: ***

artifacts:
  my_java_code:
    path: ./sample-java
    build: "javac PrintArgs.java && jar cvfm PrintArgs.jar META-INF/MANIFEST.MF PrintArgs.class"
    files:
      - source: "/Users/andrew.nester/dabs/wheel/sample-java/PrintArgs.jar"

resources:
  jobs:
    print_args:
      name: "Print Args"
      tasks:
        - task_key: Print
          new_cluster:
            num_workers: 0
            spark_version: 14.2.x-scala2.12
            node_type_id: i3.xlarge
            spark_conf:
              "spark.databricks.cluster.profile": "singleNode"
              "spark.master": "local[*]"
            custom_tags:
              ResourceClass: "SingleNode"
          spark_jar_task:
            main_class_name: PrintArgs
          libraries:
            - jar: ./sample-java/PrintArgs.jar
```

## Tests
Manually running `bundle deploy and bundle run`
2023-11-21 10:15:09 +00:00
..
default_target.go Renamed `environments` to `targets` in bundle configuration (#670) 2023-08-17 15:22:32 +00:00
default_target_test.go Replace direct calls with `bundle.Apply` (#990) 2023-11-15 14:19:18 +00:00
default_workspace_paths.go Make `file_path` and `artifact_path` fields consistent with json tag (#987) 2023-11-15 13:37:26 +00:00
default_workspace_paths_test.go Replace direct calls with `bundle.Apply` (#990) 2023-11-15 14:19:18 +00:00
default_workspace_root.go Renamed `environments` to `targets` in bundle configuration (#670) 2023-08-17 15:22:32 +00:00
default_workspace_root_test.go Replace direct calls with `bundle.Apply` (#990) 2023-11-15 14:19:18 +00:00
expand_pipeline_glob_paths.go Added support for glob patterns in pipeline libraries section (#833) 2023-10-04 13:23:13 +00:00
expand_pipeline_glob_paths_test.go Fixed using repo files as pipeline libraries (#847) 2023-10-09 10:10:28 +00:00
expand_workspace_root.go Added support for bundle.Seq, simplified Mutator.Apply interface (#403) 2023-05-24 14:45:19 +02:00
expand_workspace_root_test.go Replace direct calls with `bundle.Apply` (#990) 2023-11-15 14:19:18 +00:00
if.go Make a notebook wrapper for Python wheel tasks optional (#797) 2023-09-26 14:32:20 +00:00
initialize_variables.go Initialize variable definitions that are defined without properties (#966) 2023-11-08 11:01:14 +00:00
initialize_variables_test.go Initialize variable definitions that are defined without properties (#966) 2023-11-08 11:01:14 +00:00
load_git_details.go Persist deployment metadata in WSFS (#845) 2023-10-27 12:55:43 +00:00
mutator.go Initialize variable definitions that are defined without properties (#966) 2023-11-08 11:01:14 +00:00
noop.go Make a notebook wrapper for Python wheel tasks optional (#797) 2023-09-26 14:32:20 +00:00
override_compute.go Consolidate environment variable interaction (#747) 2023-09-11 08:18:43 +00:00
override_compute_test.go Replace direct calls with `bundle.Apply` (#990) 2023-11-15 14:19:18 +00:00
populate_current_user.go Use normalized short name for tag value in development mode (#821) 2023-10-02 06:58:51 +00:00
populate_current_user_test.go Allow digits in the generated short name (#820) 2023-09-29 06:58:40 +00:00
process_include.go Added support for bundle.Seq, simplified Mutator.Apply interface (#403) 2023-05-24 14:45:19 +02:00
process_include_test.go Replace direct calls with `bundle.Apply` (#990) 2023-11-15 14:19:18 +00:00
process_root_includes.go Consolidate environment variable interaction (#747) 2023-09-11 08:18:43 +00:00
process_root_includes_test.go Replace direct calls with `bundle.Apply` (#990) 2023-11-15 14:19:18 +00:00
process_target_mode.go Make `file_path` and `artifact_path` fields consistent with json tag (#987) 2023-11-15 13:37:26 +00:00
process_target_mode_test.go Replace direct calls with `bundle.Apply` (#990) 2023-11-15 14:19:18 +00:00
run_as.go Added run_as section for bundle configuration (#692) 2023-08-23 16:47:07 +00:00
select_default_target.go Replace direct calls with `bundle.Apply` (#990) 2023-11-15 14:19:18 +00:00
select_default_target_test.go Replace direct calls with `bundle.Apply` (#990) 2023-11-15 14:19:18 +00:00
select_target.go List available targets when incorrect target passed (#756) 2023-09-08 15:37:55 +00:00
select_target_test.go Replace direct calls with `bundle.Apply` (#990) 2023-11-15 14:19:18 +00:00
set_variables.go Consolidate environment variable interaction (#747) 2023-09-11 08:18:43 +00:00
set_variables_test.go Replace direct calls with `bundle.Apply` (#990) 2023-11-15 14:19:18 +00:00
trampoline.go Make `file_path` and `artifact_path` fields consistent with json tag (#987) 2023-11-15 13:37:26 +00:00
trampoline_test.go Consolidate environment variable interaction (#747) 2023-09-11 08:18:43 +00:00
translate_paths.go Make `file_path` and `artifact_path` fields consistent with json tag (#987) 2023-11-15 13:37:26 +00:00
translate_paths_artifacts.go Make resource and artifact paths in bundle config relative to config folder (#708) 2023-09-04 09:55:01 +00:00
translate_paths_jobs.go Enable `spark_jar_task` with local JAR libraries (#993) 2023-11-21 10:15:09 +00:00
translate_paths_pipelines.go Make resource and artifact paths in bundle config relative to config folder (#708) 2023-09-04 09:55:01 +00:00
translate_paths_test.go Enable `spark_jar_task` with local JAR libraries (#993) 2023-11-21 10:15:09 +00:00
validate_git_details.go Add validation for Git settings in bundles (#578) 2023-07-30 12:44:33 +00:00
validate_git_details_test.go Replace direct calls with `bundle.Apply` (#990) 2023-11-15 14:19:18 +00:00