Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8256308

Send arguments to javac server in a config file

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 16
    • Fix Version/s: 16
    • Component/s: infrastructure
    • Labels:
    • Subcomponent:
    • Resolved In Build:
      b26

      Description

      Currently, to use the javac server, a horrendously long command line option is created, looking like this: --server:portfile=<path to portfile>:sjavac=<command to launch server>, where the sjavac command has had all spaces replaced by %20. Since Project Jigsaw, the set of module arguments needed is huge to begin with, making this command line incomprehensible after mangling.

      Apart from making java command lines hard to read. (and copy/paste!) by developers, it also makes it hard for scripts to parse. The upcoming winenv rewrite is dependent on being able to differentiate between path names and other arguments, which is not possible in this mess.

      So, instead, let's write it to a file, without any escaping, and just pass the configuration file name to the server.

      Note that this will change the behavior of the javac server, but as the source code states this is not a documented or externally supported API, so no CSR is needed.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              ihse Magnus Ihse Bursie
              Reporter:
              ihse Magnus Ihse Bursie
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: