/** * Returns a unique directory name (can include multiple folders) for the variant, * based on build type, flavor and test. * * @return the directory name for the variant */ @NonNull public Collection<String> getDirectorySegments() { if (mDirSegments == null) { ImmutableList.Builder<String> builder = ImmutableList.builder(); if (mType.isForTesting()) { builder.add(mType.getPrefix()); } if (!mFlavors.isEmpty()) { StringBuilder sb = new StringBuilder(mFlavors.size() * 10); for (F flavor : mFlavors) { StringHelper.appendCamelCase(sb, flavor.getName()); } builder.add(sb.toString()); builder.add(mBuildType.getName()); } else { builder.add(mBuildType.getName()); } mDirSegments = builder.build(); } return mDirSegments; } /**