- 
    Type:
CSR
 - 
    Resolution: Approved
 - 
    Priority:
  P2                     
     - 
    Component/s: core-libs
 
- 
        minimal
 - 
        
 - 
        Java API, add/remove/modify command line option
 - 
        SE
 
Summary
Module system implementation refresh (12/2016)
Problem
This CCC tracks updating the module system introduced by JEPs 200/260/261/282 via CCC-8142968, refreshed by CCC-8154956 and CCC-8169069 and several other smaller CCCs.
The main changes in this refresh are the changes related to the following JSR 376 issues (http://openjdk.java.net/projects/jigsaw/spec/issues/)
#VersionedDependences #ModuleNameCharacters
and a small API updates to complete #IndirectQualifiedReflectiveAccess.
For #VersionedDependences then the proposal is that when compiling a module that depends on some other modules, record the version strings of those modules, if available, in the resulting module descriptor.
For #ModuleNameCharacters then the proposal is a new scheme for encoding module names in class files.
The detailed proposals for both JSR issues are attached to this CCC.
Solution
Update JDK 9 to align with where JSR 376 is at.
Specification
The specification changes in this CCC are a snapshot of the changes for this refresh.
The following are attached to this CCC:
 
lang-vm-specdiffs.zip - the diffs for the "Modules in the Java Language and JVM" document. This document will eventually be replaced by updates to the JLS and JVMS.
 
api-specdiffs.zip - API specdiffs
In addition to the spec/API changes, there are updates to javac as follows:
1. New command-line option to specify version of the module that is being compiled.
  --module-version <version>
        Specify version of modules that are being compiled
2. Disallow the -profile option to be used with `-target 9` and later.
3. A new -Xlint: key for javac, "module", for lint warning about module-related issues. This warning is on by default.
- csr for
 - 
                    
JDK-8170987 Module system implementation refresh (12/2016)
-         
     - Closed
 
 -         
 
- relates to
 - 
                    
CCC-8169069 Module system implementation refresh (11/2016)
-         
     - Closed
 
 -         
 - 
                    
CCC-8173393 Module system implementation refresh (2/2017)
-         
     - Closed
 
 -