[ 
https://issues.apache.org/jira/browse/CB-10444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15120404#comment-15120404
 ] 

Sarangan Rajamanickam commented on CB-10444:
--------------------------------------------

The Id attribute is used as reverse-domain-style package name. This id 
attribute should be compatible in a way that it could be used as package in 
java, namespace in C# or in iOS. At the point of creating a cordova app, the 
app has no way of knowing the list of all platforms that you might need your 
app to work on. You may add a platform in the future also and your app id must 
be compatible enough to handle the scenario. 

Now, if we look into this issue, though both internal and in are allowed within 
iOS, they are not allowed on C#(Windows). Also, there are several reserved 
words in Java such as super that cannot be used in package names but those 
words are just fine for windows development. So, the app id cannot have any 
reserved words in it and though this is little restrictive, a required feature. 

Having said that, I agree that the error message is not really informative and 
could be more helpful. 

> App ID "reserved" words undocumented and too restrictive
> --------------------------------------------------------
>
>                 Key: CB-10444
>                 URL: https://issues.apache.org/jira/browse/CB-10444
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: CordovaLib
>    Affects Versions: 5.4.0
>         Environment: MacOS X 10.10.5, Yosemite, Cordova CLI 5.4.1
>            Reporter: Jan Chalupa
>
> Running the following 'cordova create' command results in an error:
> $ cordova create MyApp com.company.internal.MyApp      
> Error: App id contains a reserved word, or is not a valid identifier.
> First, the error message does not tell me which of the words in the specified 
> app id is reserved. I figured out it was "internal" by trial and error. I 
> tried to search the documentation for the list of reserved words, but could 
> not find anything.
> Secondly, I think the list of "reserved" words is unnecessarily restrictive. 
> I do not see why "internal" should be banned from the app id. In fact, the 
> team provisioning profile we use for internal iOS development in our company 
> requires us to use an app id which includes "internal".
> It looks like Cordova uses the valid-identifier package to decide if a word 
> used in the app id is reserved.
> https://github.com/purplecabbage/valid-identifier
> This means that no Java keyword or reserved word can appear as part of the 
> app id. I am not sure that's correct for the domain names used as the 
> app/widget id's.
> Interestingly, this also means that Cordova rejects to create project with an 
> app id like 'in.company.something' even though it would be a perfectly valid 
> domain for India. The problem is that "in" happens to be a reserved word too. 
> Someone complained about it here:
> http://stackoverflow.com/questions/32765028/using-in-in-the-android-app-id-eg-in-example-myapp



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to