for (Name name : dependencies)
{
if (name instanceof QName)
{
Source dependent = symbolTable.findSourceByQName((QName) name);
if ((dependent != null) && dependent.isSwcScriptOwner())
{
SwcScript swcScript = (SwcScript) dependent.getOwner();
Swc swc = swcScript.getLibrary().getSwc();
// Make sure each dependency's minimum
// supported version is less than or equal to
// the compatibility version.
if (highestMinimumSupportedVersion < swc.getVersions().getMinimumVersion() &&
configuration.getCompilerConfiguration().enableSwcVersionFiltering())
{
highestMinimumSupportedVersion = swc.getVersions().getMinimumVersion();
if (isMinimumSupportedVersionConfigured &&
configuration.getMinimumSupportedVersion() < highestMinimumSupportedVersion)
{
HigherMinimumSupportedVersionRequired message =
new HigherMinimumSupportedVersionRequired(swc.getLocation(),
swc.getVersions().getMinimumVersionString());
ThreadLocalToolkit.log(message, u.getSource());
}
}
}
}
}
// Warn about linked in dependent SWC's, which have style
// defaults. Linking in dependent SWC's pulls in
// definitions without their associated style defaults and
// their dependencies. This can lead to missing skins at
// runtime for applications, which compile against the
// output SWC. Merging the style defaults isn't enough,
// because styles can bring in additional dependencies, so
// in order to get a complete dependency set, we would
// have to compile the style defaults and our current
// design requires deferring that until application
// compile time. Therefore the best option is to
// recommend that the user put the dependent SWC in the
// external-library-path of the output SWC compilation and
// in the library-path of downstream application
// compilations.
Source source = u.getSource();
if (source.isSwcScriptOwner() &&
!PreLink.isCompilationUnitExternal(u, externs) &&
!source.isInternal() && !hidePotentialMissingSkinsWarning)
{
SwcScript swcScript = (SwcScript) source.getOwner();
Swc swc = swcScript.getLibrary().getSwc();
String location = swc.getLocation();
if (!processedSwcs.contains(location))
{