Android studio new module template - difference between topOut and projectOut global ids

445 Views Asked by At

While browsing Android Studio templates for creating new module, I came across topOut and projectOut global ids in globals.xml.ftl. Both are assigned same values i.e. ".". Below are the file contents:

<?xml version="1.0"?>
<globals>
    <global id="topOut" value="." />
    <global id="projectOut" value="." />
    <global id="manifestOut" value="${manifestDir}" />
    <global id="srcOut" value="${srcDir}/${slashedPackageName(packageName)}" />
    <global id="nativeSrcOut" value="${escapeXmlAttribute(projectOut)}/src/main/cpp" />
    <global id="testOut" value="androidTest/${slashedPackageName(packageName)}" />
    <global id="unitTestOut" value="${escapeXmlAttribute(projectOut)}/src/test/java/${slashedPackageName(packageName)}" />
    <global id="resOut" value="${resDir}" />
    <global id="mavenUrl" value="mavenCentral" />
    <global id="buildToolsVersion" value="18.0.1" />
    <global id="gradlePluginVersion" value="0.6.+" />
    <global id="unitTestsSupported" type="boolean" value="${(compareVersions(gradlePluginVersion, '1.1.0') >= 0)?string}" />
</globals>

But they refer to different locations. projectOut refers to module folder and topOut to project folder. How does it happen with same "." value?

Location of template is android-studio-folder\plugins\android\lib\templates\gradle-projects\NewAndroidModule

0

There are 0 best solutions below