1

Create a file in the application package(top level) using Intellij Wizard Template.It's working in some machine and not working in linux machine.

fun getApplicationPackageFile(srcOut: File, applicationPackage: String): File {
    var applicationPackageFile = srcOut.path.toString()
    var pk = applicationPackage.replace(".", "\\")

    val status: Boolean = applicationPackageFile.contains(pk)
    return if (status) {
        var file =
            applicationPackageFile.substring(0, applicationPackageFile.indexOf(pk)) + pk + "\\"
        File(file)
    } else {
        srcOut
    }
}

I think else part work on linux machine or some machines My inital structure can look like this

main-application-package
  -> package-i-created-myself
     -> Create template here

So It should create common package under main package along with AppViewModel and AppActivity

main-application-package
  -> common
     -> AppViewModel
     -> AppActivity
  -> package-i-created-myself
     -> Create template here

But in some machine it is under package-i-created-myself like

my-main-application-package
  
  -> package-i-created-myself
    -> common
       -> AppViewModel
       -> AppActivity
    -> Create template here

I am using above code like

  val pkFile = getApplicationPackageFile(srcOut, applicationPackage)

  save(
        getStrAppViewModel(applicationPackage),
        pkFile.resolve("common/AppViewModel.$ktOrJavaExt"
      )
        
 save(
        getStrAppClass(applicationPackage),
        pkFile.resolve("common/AppActivity.$ktOrJavaExt")
    )

Where srcOut is the directory(package) on click of which I add Template. and applicationPackage is get from

moduleData.projectTemplateData.applicationPackage
Taimoor Khan
  • 541
  • 4
  • 20

1 Answers1

1

Create a file in the application package(top level) using Intellij Wizard Template.It's working in some machine and not working in linux machine.

For linux and Mac machines You only need to change this line of code

var pk = applicationPackage.replace(".", "/")

Complete Code

fun getApplicationPackageFile(srcOut: File, applicationPackage: String): File {
    var applicationPackageFile = srcOut.path.toString()
    var pk = applicationPackage.replace(".", "/")

    val status: Boolean = applicationPackageFile.contains(pk)
    return if (status) {
        var file =
            applicationPackageFile.substring(0, applicationPackageFile.indexOf(pk)) + pk 
        File(file)
    } else {
        srcOut
    }
}
Abdullah
  • 46
  • 4