Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.4.0-incubating
    • Component/s: None
    • Labels:
      None

      Description

      Jacques Nadeau, during 1.3 RC1 vote:

      Minor comment, the DEPENDENCIES file states that it lists transitive dependencies (which Calcite has) but doesn't actually list anything.

        Activity

        Hide
        jnadeau Jacques Nadeau added a comment -

        Julian Hyde, any suggestions on the "right" way to fix this? The issue is that the Apache pom appears to generate this file based on the dependencies of the base level pom. In calcite, the base level pom doesn't have any dependencies (only inner projects do).

        Show
        jnadeau Jacques Nadeau added a comment - Julian Hyde , any suggestions on the "right" way to fix this? The issue is that the Apache pom appears to generate this file based on the dependencies of the base level pom. In calcite, the base level pom doesn't have any dependencies (only inner projects do).
        Hide
        julianhyde Julian Hyde added a comment -

        Maybe maven-dependency-plugin is doing the right thing - generating the dependencies of each module, and the root module has none, hence the file is empty. Each sub-module has a DEPENDENCIES file, right? In my dev sandbox here's what I see:

        $ find . -name DEPENDENCIES|xargs ls -trl
        -rw-rw-r-- 1 jhyde jhyde   257 Aug 18 10:46 ./target/maven-shared-archive-resources/META-INF/DEPENDENCIES
        -rw-rw-r-- 1 jhyde jhyde   963 Aug 18 10:46 ./avatica/target/maven-shared-archive-resources/META-INF/DEPENDENCIES
        -rw-rw-r-- 1 jhyde jhyde   963 Aug 18 10:46 ./avatica/target/classes/META-INF/DEPENDENCIES
        -rw-rw-r-- 1 jhyde jhyde   963 Aug 18 10:46 ./avatica/target/test-classes/META-INF/DEPENDENCIES
        -rw-rw-r-- 1 jhyde jhyde  3264 Aug 18 10:46 ./avatica-server/target/maven-shared-archive-resources/META-INF/DEPENDENCIES
        -rw-rw-r-- 1 jhyde jhyde  3264 Aug 18 10:46 ./avatica-server/target/classes/META-INF/DEPENDENCIES
        -rw-rw-r-- 1 jhyde jhyde  3264 Aug 18 10:46 ./avatica-server/target/test-classes/META-INF/DEPENDENCIES
        -rw-rw-r-- 1 jhyde jhyde   529 Aug 18 10:46 ./linq4j/target/maven-shared-archive-resources/META-INF/DEPENDENCIES
        -rw-rw-r-- 1 jhyde jhyde   529 Aug 18 10:46 ./linq4j/target/classes/META-INF/DEPENDENCIES
        -rw-rw-r-- 1 jhyde jhyde   529 Aug 18 10:46 ./linq4j/target/test-classes/META-INF/DEPENDENCIES
        -rw-rw-r-- 1 jhyde jhyde  3684 Aug 18 10:46 ./core/target/maven-shared-archive-resources/META-INF/DEPENDENCIES
        -rw-rw-r-- 1 jhyde jhyde  3684 Aug 18 10:46 ./core/target/classes/META-INF/DEPENDENCIES
        -rw-rw-r-- 1 jhyde jhyde  3684 Aug 18 10:46 ./core/target/test-classes/META-INF/DEPENDENCIES
        -rw-rw-r-- 1 jhyde jhyde   266 Aug 18 10:50 ./example/target/maven-shared-archive-resources/META-INF/DEPENDENCIES
        -rw-rw-r-- 1 jhyde jhyde  4269 Aug 18 10:50 ./example/csv/target/maven-shared-archive-resources/META-INF/DEPENDENCIES
        -rw-rw-r-- 1 jhyde jhyde  4269 Aug 18 10:50 ./example/csv/target/classes/META-INF/DEPENDENCIES
        -rw-rw-r-- 1 jhyde jhyde  4269 Aug 18 10:50 ./example/csv/target/test-classes/META-INF/DEPENDENCIES
        -rw-rw-r-- 1 jhyde jhyde  4102 Aug 18 10:50 ./mongodb/target/maven-shared-archive-resources/META-INF/DEPENDENCIES
        -rw-rw-r-- 1 jhyde jhyde  4102 Aug 18 10:50 ./mongodb/target/classes/META-INF/DEPENDENCIES
        -rw-rw-r-- 1 jhyde jhyde  4102 Aug 18 10:50 ./mongodb/target/test-classes/META-INF/DEPENDENCIES
        -rw-rw-r-- 1 jhyde jhyde  4233 Aug 18 10:50 ./plus/target/maven-shared-archive-resources/META-INF/DEPENDENCIES
        -rw-rw-r-- 1 jhyde jhyde  4233 Aug 18 10:50 ./plus/target/classes/META-INF/DEPENDENCIES
        -rw-rw-r-- 1 jhyde jhyde  4233 Aug 18 10:50 ./plus/target/test-classes/META-INF/DEPENDENCIES
        -rw-rw-r-- 1 jhyde jhyde 18788 Aug 18 10:50 ./spark/target/maven-shared-archive-resources/META-INF/DEPENDENCIES
        -rw-rw-r-- 1 jhyde jhyde 18788 Aug 18 10:50 ./spark/target/classes/META-INF/DEPENDENCIES
        -rw-rw-r-- 1 jhyde jhyde 18788 Aug 18 10:50 ./spark/target/test-classes/META-INF/DEPENDENCIES
        -rw-rw-r-- 1 jhyde jhyde  4046 Aug 18 10:50 ./splunk/target/maven-shared-archive-resources/META-INF/DEPENDENCIES
        -rw-rw-r-- 1 jhyde jhyde  4046 Aug 18 10:50 ./splunk/target/classes/META-INF/DEPENDENCIES
        -rw-rw-r-- 1 jhyde jhyde  4046 Aug 18 10:50 ./splunk/target/test-classes/META-INF/DEPENDENCIES
        -rw-rw-r-- 1 jhyde jhyde  4585 Aug 18 10:50 ./ubenchmark/target/maven-shared-archive-resources/META-INF/DEPENDENCIES
        -rw-rw-r-- 1 jhyde jhyde  4585 Aug 18 10:50 ./ubenchmark/target/classes/META-INF/DEPENDENCIES
        -rw-rw-r-- 1 jhyde jhyde  4585 Aug 18 10:50 ./ubenchmark/target/test-classes/META-INF/DEPENDENCIES
        

        Is there something similar in the source distribution?

        Show
        julianhyde Julian Hyde added a comment - Maybe maven-dependency-plugin is doing the right thing - generating the dependencies of each module, and the root module has none, hence the file is empty. Each sub-module has a DEPENDENCIES file, right? In my dev sandbox here's what I see: $ find . -name DEPENDENCIES|xargs ls -trl -rw-rw-r-- 1 jhyde jhyde 257 Aug 18 10:46 ./target/maven-shared-archive-resources/META-INF/DEPENDENCIES -rw-rw-r-- 1 jhyde jhyde 963 Aug 18 10:46 ./avatica/target/maven-shared-archive-resources/META-INF/DEPENDENCIES -rw-rw-r-- 1 jhyde jhyde 963 Aug 18 10:46 ./avatica/target/classes/META-INF/DEPENDENCIES -rw-rw-r-- 1 jhyde jhyde 963 Aug 18 10:46 ./avatica/target/test-classes/META-INF/DEPENDENCIES -rw-rw-r-- 1 jhyde jhyde 3264 Aug 18 10:46 ./avatica-server/target/maven-shared-archive-resources/META-INF/DEPENDENCIES -rw-rw-r-- 1 jhyde jhyde 3264 Aug 18 10:46 ./avatica-server/target/classes/META-INF/DEPENDENCIES -rw-rw-r-- 1 jhyde jhyde 3264 Aug 18 10:46 ./avatica-server/target/test-classes/META-INF/DEPENDENCIES -rw-rw-r-- 1 jhyde jhyde 529 Aug 18 10:46 ./linq4j/target/maven-shared-archive-resources/META-INF/DEPENDENCIES -rw-rw-r-- 1 jhyde jhyde 529 Aug 18 10:46 ./linq4j/target/classes/META-INF/DEPENDENCIES -rw-rw-r-- 1 jhyde jhyde 529 Aug 18 10:46 ./linq4j/target/test-classes/META-INF/DEPENDENCIES -rw-rw-r-- 1 jhyde jhyde 3684 Aug 18 10:46 ./core/target/maven-shared-archive-resources/META-INF/DEPENDENCIES -rw-rw-r-- 1 jhyde jhyde 3684 Aug 18 10:46 ./core/target/classes/META-INF/DEPENDENCIES -rw-rw-r-- 1 jhyde jhyde 3684 Aug 18 10:46 ./core/target/test-classes/META-INF/DEPENDENCIES -rw-rw-r-- 1 jhyde jhyde 266 Aug 18 10:50 ./example/target/maven-shared-archive-resources/META-INF/DEPENDENCIES -rw-rw-r-- 1 jhyde jhyde 4269 Aug 18 10:50 ./example/csv/target/maven-shared-archive-resources/META-INF/DEPENDENCIES -rw-rw-r-- 1 jhyde jhyde 4269 Aug 18 10:50 ./example/csv/target/classes/META-INF/DEPENDENCIES -rw-rw-r-- 1 jhyde jhyde 4269 Aug 18 10:50 ./example/csv/target/test-classes/META-INF/DEPENDENCIES -rw-rw-r-- 1 jhyde jhyde 4102 Aug 18 10:50 ./mongodb/target/maven-shared-archive-resources/META-INF/DEPENDENCIES -rw-rw-r-- 1 jhyde jhyde 4102 Aug 18 10:50 ./mongodb/target/classes/META-INF/DEPENDENCIES -rw-rw-r-- 1 jhyde jhyde 4102 Aug 18 10:50 ./mongodb/target/test-classes/META-INF/DEPENDENCIES -rw-rw-r-- 1 jhyde jhyde 4233 Aug 18 10:50 ./plus/target/maven-shared-archive-resources/META-INF/DEPENDENCIES -rw-rw-r-- 1 jhyde jhyde 4233 Aug 18 10:50 ./plus/target/classes/META-INF/DEPENDENCIES -rw-rw-r-- 1 jhyde jhyde 4233 Aug 18 10:50 ./plus/target/test-classes/META-INF/DEPENDENCIES -rw-rw-r-- 1 jhyde jhyde 18788 Aug 18 10:50 ./spark/target/maven-shared-archive-resources/META-INF/DEPENDENCIES -rw-rw-r-- 1 jhyde jhyde 18788 Aug 18 10:50 ./spark/target/classes/META-INF/DEPENDENCIES -rw-rw-r-- 1 jhyde jhyde 18788 Aug 18 10:50 ./spark/target/test-classes/META-INF/DEPENDENCIES -rw-rw-r-- 1 jhyde jhyde 4046 Aug 18 10:50 ./splunk/target/maven-shared-archive-resources/META-INF/DEPENDENCIES -rw-rw-r-- 1 jhyde jhyde 4046 Aug 18 10:50 ./splunk/target/classes/META-INF/DEPENDENCIES -rw-rw-r-- 1 jhyde jhyde 4046 Aug 18 10:50 ./splunk/target/test-classes/META-INF/DEPENDENCIES -rw-rw-r-- 1 jhyde jhyde 4585 Aug 18 10:50 ./ubenchmark/target/maven-shared-archive-resources/META-INF/DEPENDENCIES -rw-rw-r-- 1 jhyde jhyde 4585 Aug 18 10:50 ./ubenchmark/target/classes/META-INF/DEPENDENCIES -rw-rw-r-- 1 jhyde jhyde 4585 Aug 18 10:50 ./ubenchmark/target/test-classes/META-INF/DEPENDENCIES Is there something similar in the source distribution?
        Hide
        jnadeau Jacques Nadeau added a comment -

        Each jar gets the file but when the tarball gets created, none of the other DEPENDENCIES files are generated. The tarball only has the empty root one. I'm not even sure why we need a dependencies file. I haven't yet found the place that states this requirement. The license requirements that I recall are a requirement to state anything that is included in the packaging, not things that are used for build purposes. (We would need to solve this if we had a binary distribution that included the dependencies in the distribution artifact.)

        Show
        jnadeau Jacques Nadeau added a comment - Each jar gets the file but when the tarball gets created, none of the other DEPENDENCIES files are generated. The tarball only has the empty root one. I'm not even sure why we need a dependencies file. I haven't yet found the place that states this requirement. The license requirements that I recall are a requirement to state anything that is included in the packaging, not things that are used for build purposes. (We would need to solve this if we had a binary distribution that included the dependencies in the distribution artifact.)
        Hide
        julianhyde Julian Hyde added a comment -

        We have a DEPENDENCIES file because the Apache parent module generates it by default. The path of least resistance seemed to be to go with that default. But we don't need it, and you can remove it.

        Show
        julianhyde Julian Hyde added a comment - We have a DEPENDENCIES file because the Apache parent module generates it by default. The path of least resistance seemed to be to go with that default. But we don't need it, and you can remove it.
        Hide
        jnadeau Jacques Nadeau added a comment -

        Resolved in f8a5427

        Show
        jnadeau Jacques Nadeau added a comment - Resolved in f8a5427
        Hide
        jnadeau Jacques Nadeau added a comment -

        Resolved in release 1.4.0-incubating (2015-08-23)

        Show
        jnadeau Jacques Nadeau added a comment - Resolved in release 1.4.0-incubating (2015-08-23)
        Hide
        julianhyde Julian Hyde added a comment -

        Jacques Nadeau, Intellij is complaining about these lines of code you added:

                  <execution>
                    <id>non-root-resources</id>
                    <configuration>
                      <resourceBundles>
                        <resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle>
                      </resourceBundles>
                    </configuration>
                  </execution>
        

        specifically that the resourceBundles element should not be there. It gets fixed if I add a goal:

                    <goals>
                      <goal>process</goal>
                    </goals>
        

        Is that right?

        Show
        julianhyde Julian Hyde added a comment - Jacques Nadeau , Intellij is complaining about these lines of code you added: <execution> <id>non-root-resources</id> <configuration> <resourceBundles> <resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle> </resourceBundles> </configuration> </execution> specifically that the resourceBundles element should not be there. It gets fixed if I add a goal: <goals> <goal>process</goal> </goals> Is that right?
        Hide
        jnadeau Jacques Nadeau added a comment -

        I don't think so. We establish the bundle information in the root pom (non-root-resources) but then fire it everywhere else (note the child pom process clauses for that execution). This is so we don't have to copy and paste the assembly name to each sub module. One of the issues with the original build was we had competing assemblies which meant that (among other things) we would get different assemblies for zip versus tgz. Additionally, the order of which was applied second didn't appear determinate. If this is causing a problem with Intellij, an alternative would be to remove the root execution for non-root-resources and add to all the children. Note that this assembly is responsible for adding the individual license files to each child jar whereas the other is responsible for adding all dependencies to the tarballs.

        Show
        jnadeau Jacques Nadeau added a comment - I don't think so. We establish the bundle information in the root pom (non-root-resources) but then fire it everywhere else (note the child pom process clauses for that execution). This is so we don't have to copy and paste the assembly name to each sub module. One of the issues with the original build was we had competing assemblies which meant that (among other things) we would get different assemblies for zip versus tgz. Additionally, the order of which was applied second didn't appear determinate. If this is causing a problem with Intellij, an alternative would be to remove the root execution for non-root-resources and add to all the children. Note that this assembly is responsible for adding the individual license files to each child jar whereas the other is responsible for adding all dependencies to the tarballs.
        Hide
        jnadeau Jacques Nadeau added a comment -

        As an aside, mvn and eclipse don't mind the lines. Not sure why Intellij is grumpy

        Show
        jnadeau Jacques Nadeau added a comment - As an aside, mvn and eclipse don't mind the lines. Not sure why Intellij is grumpy

          People

          • Assignee:
            jnadeau Jacques Nadeau
            Reporter:
            julianhyde Julian Hyde
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development