{ "id": "83549", "key": "TIMOB-6552", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "12580", "description": "Dual Runtime 1.8.0", "name": "Release 1.8.0.1", "archived": true, "released": true, "releaseDate": "2011-12-22" }, { "id": "12593", "name": "Release 2.0.0", "archived": false, "released": true, "releaseDate": "2012-03-30" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2011-12-13T22:28:42.000+0000", "created": "2011-12-09T17:46:54.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "branch-v8", "verified-1.8.0.1" ], "versions": [ { "id": "12580", "description": "Dual Runtime 1.8.0", "name": "Release 1.8.0.1", "archived": true, "released": true, "releaseDate": "2011-12-22" } ], "issuelinks": [], "assignee": { "name": "opiecyrus", "key": "opiecyrus", "displayName": "Opie Cyrus", "active": true, "timeZone": "America/Chicago" }, "updated": "2012-01-11T15:30:09.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10202", "name": "Android", "description": "Android Platform" } ], "description": "Building the BrightCove 2.0 modules for Android throws a series of errors. I have isolated the issue to the definition of the Kroll.Constant values in the module class:\r\n{code}\r\n\t//\r\n\t// Constants\r\n\t//\r\n\t@Kroll.constant public static final int SORT_BY_PUBLISH_DATE = SortByTypeEnum.PUBLISH_DATE.ordinal();\r\n\t@Kroll.constant public static final int SORT_BY_CREATION_DATE = SortByTypeEnum.CREATION_DATE.ordinal();\r\n\t@Kroll.constant public static final int SORT_BY_MODIFIED_DATE = SortByTypeEnum.MODIFIED_DATE.ordinal();\r\n\t@Kroll.constant public static final int SORT_BY_PLAYS_TOTAL = SortByTypeEnum.PLAYS_TOTAL.ordinal();\r\n\t@Kroll.constant public static final int SORT_BY_PLAYS_TRAILING_WEEK = SortByTypeEnum.PLAYS_TRAILING_WEEK.ordinal();\r\n\t@Kroll.constant public static final int ORDER_ASCENDING = SortOrderTypeEnum.ASC.ordinal();\r\n\t@Kroll.constant public static final int ORDER_DESCENDING = SortOrderTypeEnum.DESC.ordinal();\r\n\t@Kroll.constant public static final int STATE_ACTIVE = VideoStateFilterEnum.PLAYABLE.ordinal();\r\n\t@Kroll.constant public static final int STATE_INACTIVE = VideoStateFilterEnum.INACTIVE.ordinal();\r\n\t@Kroll.constant public static final int STATE_DELETED = VideoStateFilterEnum.DELETED.ordinal();\r\n\t@Kroll.constant public static final int PLAYLIST_OLDEST_TO_NEWEST = PlaylistTypeEnum.OLDEST_TO_NEWEST.ordinal();\r\n\t@Kroll.constant public static final int PLAYLIST_NEWEST_TO_OLDEST = PlaylistTypeEnum.NEWEST_TO_OLDEST.ordinal();\r\n\t@Kroll.constant public static final int PLAYLIST_START_OLDEST_TO_NEWEST = PlaylistTypeEnum.OLDEST_TO_NEWEST.ordinal();\r\n\t@Kroll.constant public static final int PLAYLIST_START_NEWEST_TO_OLDEST = PlaylistTypeEnum.NEWEST_TO_OLDEST.ordinal();\r\n\t@Kroll.constant public static final int PLAYLIST_ALPHABETICAL = PlaylistTypeEnum.ALPHABETICAL.ordinal();\r\n\t@Kroll.constant public static final int PLAYLIST_PLAYS_TOTAL = PlaylistTypeEnum.PLAYSTOTAL.ordinal();\r\n\t@Kroll.constant public static final int PLAYLIST_PLAYS_TRAILING_WEEK = PlaylistTypeEnum.PLAYS_TRAILING_WEEK.ordinal();\r\n\t@Kroll.constant public static final int PLAYLIST_EXPLICIT = PlaylistTypeEnum.EXPLICIT.ordinal();\r\n\t@Kroll.constant public static final int REGION_US = RegionEnum.US.ordinal();\r\n\t@Kroll.constant public static final int REGION_JP = RegionEnum.JP.ordinal();\r\n\t@Kroll.constant public static final int DELIVERY_DEFAULT = MediaDeliveryTypeEnum.DEFAULT.ordinal();\r\n\t@Kroll.constant public static final int DELIVERY_HTTP = MediaDeliveryTypeEnum.HTTP.ordinal();\r\n{code}\r\n\r\nThe use of the \".ordinal()\" method on the enumerated type is what triggers the errors. If I comment out the declaration of these Kroll.constant values then the build errors are not generated. \r\n\r\nThe build output is as follows:\r\n\r\n{code}\r\nJEnglish-MBP:brightcove jenglish$ ant\r\nBuildfile: /Users/jenglish/titanium_mobile_modules/android/brightcove/build.xml\r\n\r\ninit:\r\n [mkdir] Created dir: /Users/jenglish/titanium_mobile_modules/android/brightcove/build/classes\r\n [mkdir] Created dir: /Users/jenglish/titanium_mobile_modules/android/brightcove/dist\r\n\r\nprocess.annotations:\r\n [mkdir] Created dir: /Users/jenglish/titanium_mobile_modules/android/brightcove/build/generated/json\r\n [javac] Compiling 7 source files to /Users/jenglish/titanium_mobile_modules/android/brightcove/build/classes\r\n [javac] Note: [KrollBindingGen] Running Kroll binding generator.\r\n [javac] Note: [KrollBindingGen] No binding data found, creating new data file: org.appcelerator.titanium.bindings/brightcove.json\r\n [javac] Note: [KrollBindingGen] Found binding for module Brightcove\r\n [javac] Note: [KrollBindingGen] Found binding for proxy Playlist\r\n [javac] Note: [KrollBindingGen] Found binding for proxy VideoPlayer\r\n [javac] Note: [KrollBindingGen] Found binding for proxy Video\r\n [javac] Note: [KrollBindingGen] Generating JSON: /Users/jenglish/titanium_mobile_modules/android/brightcove/build/generated/json/org/appcelerator/titanium/bindings/brightcove.json\r\n [javac] warning: The following options were not recognized by any processor: '[kroll.checkTiContext]'\r\n [javac] Note: Some input files use or override a deprecated API.\r\n [javac] Note: Recompile with -Xlint:deprecation for details.\r\n\r\ngenerate.rhino.bindings:\r\n [java] Generating /Users/jenglish/titanium_mobile_modules/android/brightcove/build/generated/java/ti/brightcove/PlaylistProxyPrototype.java\r\n [java] Generating /Users/jenglish/titanium_mobile_modules/android/brightcove/build/generated/java/ti/brightcove/VideoPlayerProxyPrototype.java\r\n [java] Generating /Users/jenglish/titanium_mobile_modules/android/brightcove/build/generated/java/ti/brightcove/VideoProxyPrototype.java\r\n [java] Generating /Users/jenglish/titanium_mobile_modules/android/brightcove/build/generated/java/ti/brightcove/BrightcoveModulePrototype.java\r\n [java] Dec 9, 2011 7:35:28 PM freemarker.log.JDK14LoggerFactory$JDK14Logger error\r\n [java] SEVERE: constant.value is undefined.\r\n [java] \r\n [java] constant.value is undefined.\r\n [java] The problematic instruction:\r\n [java] ----------\r\n [java] ==> ${constant.value?c} [on line 85, column 43 in ProxyBindingRhino.java.fm]\r\n [java] in user-directive Proxy.listConstants [on line 81, column 17 in ProxyBindingRhino.java.fm]\r\n [java] ----------\r\n [java] \r\n [java] Java backtrace for programmers:\r\n [java] ----------\r\n [java] freemarker.core.InvalidReferenceException: constant.value is undefined.\r\n [java] \tat freemarker.core.EvaluationUtil.getNumber(EvaluationUtil.java:104)\r\n [java] \tat freemarker.core.NumericalBuiltins$cBI._getAsTemplateModel(NumericalBuiltins.java:157)\r\n [java] \tat freemarker.core.Expression.getAsTemplateModel(Expression.java:89)\r\n [java] \tat freemarker.core.Expression.getStringValue(Expression.java:93)\r\n [java] \tat freemarker.core.DollarVariable.accept(DollarVariable.java:76)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.MixedContent.accept(MixedContent.java:92)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.IfBlock.accept(IfBlock.java:82)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:395)\r\n [java] \tat freemarker.core.BodyInstruction.accept(BodyInstruction.java:93)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.MixedContent.accept(MixedContent.java:92)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:167)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:417)\r\n [java] \tat freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.Macro$Context.runMacro(Macro.java:172)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:603)\r\n [java] \tat freemarker.core.UnifiedCall.accept(UnifiedCall.java:106)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.MixedContent.accept(MixedContent.java:92)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.Environment.process(Environment.java:190)\r\n [java] \tat freemarker.template.Template.process(Template.java:237)\r\n [java] \tat org.appcelerator.kroll.annotations.generator.KrollBindingGenerator.saveTypeTemplate(KrollBindingGenerator.java:129)\r\n [java] \tat org.appcelerator.kroll.annotations.generator.KrollBindingGenerator.generateBindings(KrollBindingGenerator.java:296)\r\n [java] \tat org.appcelerator.kroll.annotations.generator.KrollBindingGenerator.main(KrollBindingGenerator.java:359)\r\n [java] \tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n [java] \tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)\r\n [java] \tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)\r\n [java] \tat java.lang.reflect.Method.invoke(Method.java:597)\r\n [java] \tat org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:217)\r\n [java] \tat org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:152)\r\n [java] \tat org.apache.tools.ant.taskdefs.Java.run(Java.java:771)\r\n [java] \tat org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:221)\r\n [java] \tat org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:135)\r\n [java] \tat org.apache.tools.ant.taskdefs.Java.execute(Java.java:108)\r\n [java] \tat org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)\r\n [java] \tat sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)\r\n [java] \tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)\r\n [java] \tat java.lang.reflect.Method.invoke(Method.java:597)\r\n [java] \tat org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)\r\n [java] \tat org.apache.tools.ant.Task.perform(Task.java:348)\r\n [java] \tat org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)\r\n [java] \tat org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)\r\n [java] \tat sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)\r\n [java] \tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)\r\n [java] \tat java.lang.reflect.Method.invoke(Method.java:597)\r\n [java] \tat org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)\r\n [java] \tat org.apache.tools.ant.Task.perform(Task.java:348)\r\n [java] \tat org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:398)\r\n [java] \tat org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)\r\n [java] \tat sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)\r\n [java] \tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)\r\n [java] \tat java.lang.reflect.Method.invoke(Method.java:597)\r\n [java] \tat org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)\r\n [java] \tat org.apache.tools.ant.Task.perform(Task.java:348)\r\n [java] \tat org.apache.tools.ant.Target.execute(Target.java:390)\r\n [java] \tat org.apache.tools.ant.Target.performTasks(Target.java:411)\r\n [java] \tat org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)\r\n [java] \tat org.apache.tools.ant.Project.executeTarget(Project.java:1368)\r\n [java] \tat org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)\r\n [java] \tat org.apache.tools.ant.Project.executeTargets(Project.java:1251)\r\n [java] \tat org.apache.tools.ant.Main.runBuild(Main.java:809)\r\n [java] \tat org.apache.tools.ant.Main.startAnt(Main.java:217)\r\n [java] \tat org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)\r\n [java] \tat org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)\r\n [java] \r\n [java] constant.value is undefined.\r\n [java] The problematic instruction:\r\n [java] ----------\r\n [java] ==> ${constant.value?c} [on line 85, column 43 in ProxyBindingRhino.java.fm]\r\n [java] in user-directive Proxy.listConstants [on line 81, column 17 in ProxyBindingRhino.java.fm]\r\n [java] ----------\r\n [java] \r\n [java] Java backtrace for programmers:\r\n [java] ----------\r\n [java] freemarker.core.InvalidReferenceException: constant.value is undefined.\r\n [java] \tat freemarker.core.EvaluationUtil.getNumber(EvaluationUtil.java:104)\r\n [java] \tat freemarker.core.NumericalBuiltins$cBI._getAsTemplateModel(NumericalBuiltins.java:157)\r\n [java] \tat freemarker.core.Expression.getAsTemplateModel(Expression.java:89)\r\n [java] \tat freemarker.core.Expression.getStringValue(Expression.java:93)\r\n [java] \tat freemarker.core.DollarVariable.accept(DollarVariable.java:76)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.MixedContent.accept(MixedContent.java:92)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.IfBlock.accept(IfBlock.java:82)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:395)\r\n [java] \tat freemarker.core.BodyInstruction.accept(BodyInstruction.java:93)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.MixedContent.accept(MixedContent.java:92)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:167)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:417)\r\n [java] \tat freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.Macro$Context.runMacro(Macro.java:172)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:603)\r\n [java] \tat freemarker.core.UnifiedCall.accept(UnifiedCall.java:106)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.MixedContent.accept(MixedContent.java:92)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.Environment.process(Environment.java:190)\r\n [java] \tat freemarker.template.Template.process(Template.java:237)\r\n [java] \tat org.appcelerator.kroll.annotations.generator.KrollBindingGenerator.saveTypeTemplate(KrollBindingGenerator.java:129)\r\n [java] \tat org.appcelerator.kroll.annotations.generator.KrollBindingGenerator.generateBindings(KrollBindingGenerator.java:296)\r\n [java] \tat org.appcelerator.kroll.annotations.generator.KrollBindingGenerator.main(KrollBindingGenerator.java:359)\r\n [java] \tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n [java] \tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)\r\n [java] \tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)\r\n [java] \tat java.lang.reflect.Method.invoke(Method.java:597)\r\n [java] \tat org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:217)\r\n [java] \tat org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:152)\r\n [java] \tat org.apache.tools.ant.taskdefs.Java.run(Java.java:771)\r\n [java] \tat org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:221)\r\n [java] \tat org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:135)\r\n [java] \tat org.apache.tools.ant.taskdefs.Java.execute(Java.java:108)\r\n [java] \tat org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)\r\n [java] \tat sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)\r\n [java] \tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)\r\n [java] \tat java.lang.reflect.Method.invoke(Method.java:597)\r\n [java] \tat org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)\r\n [java] \tat org.apache.tools.ant.Task.perform(Task.java:348)\r\n [java] \tat org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)\r\n [java] \tat org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)\r\n [java] \tat sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)\r\n [java] \tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)\r\n [java] \tat java.lang.reflect.Method.invoke(Method.java:597)\r\n [java] \tat org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)\r\n [java] \tat org.apache.tools.ant.Task.perform(Task.java:348)\r\n [java] \tat org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:398)\r\n [java] \tat org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)\r\n [java] \tat sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)\r\n [java] \tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)\r\n [java] \tat java.lang.reflect.Method.invoke(Method.java:597)\r\n [java] \tat org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)\r\n [java] \tat org.apache.tools.ant.Task.perform(Task.java:348)\r\n [java] \tat org.apache.tools.ant.Target.execute(Target.java:390)\r\n [java] \tat org.apache.tools.ant.Target.performTasks(Target.java:411)\r\n [java] \tat org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)\r\n [java] \tat org.apache.tools.ant.Project.executeTarget(Project.java:1368)\r\n [java] \tat org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)\r\n [java] \tat org.apache.tools.ant.Project.executeTargets(Project.java:1251)\r\n [java] \tat org.apache.tools.ant.Main.runBuild(Main.java:809)\r\n [java] \tat org.apache.tools.ant.Main.startAnt(Main.java:217)\r\n [java] \tat org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)\r\n [java] \tat org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)\r\n [java] Generating /Users/jenglish/titanium_mobile_modules/android/brightcove/build/generated/java/brightcoveGeneratedBindings.java\r\n\r\ngenerate.rhino.idswitch:\r\n [echo] Generating IDs for /Users/jenglish/titanium_mobile_modules/android/brightcove/build/generated/java/brightcoveGeneratedBindings.java\r\n [echo] Generating IDs for /Users/jenglish/titanium_mobile_modules/android/brightcove/build/generated/java/ti/brightcove/BrightcoveModulePrototype.java\r\n [echo] Generating IDs for /Users/jenglish/titanium_mobile_modules/android/brightcove/build/generated/java/ti/brightcove/PlaylistProxyPrototype.java\r\n [echo] Generating IDs for /Users/jenglish/titanium_mobile_modules/android/brightcove/build/generated/java/ti/brightcove/VideoPlayerProxyPrototype.java\r\n [echo] Generating IDs for /Users/jenglish/titanium_mobile_modules/android/brightcove/build/generated/java/ti/brightcove/VideoProxyPrototype.java\r\n\r\ngenerate.v8.bindings:\r\n [java] Generating /Users/jenglish/titanium_mobile_modules/android/brightcove/build/generated/jni/ti.brightcove.PlaylistProxy.h\r\n [java] Generating /Users/jenglish/titanium_mobile_modules/android/brightcove/build/generated/jni/ti.brightcove.PlaylistProxy.cpp\r\n [java] Generating /Users/jenglish/titanium_mobile_modules/android/brightcove/build/generated/jni/ti.brightcove.VideoPlayerProxy.h\r\n [java] Generating /Users/jenglish/titanium_mobile_modules/android/brightcove/build/generated/jni/ti.brightcove.VideoPlayerProxy.cpp\r\n [java] Generating /Users/jenglish/titanium_mobile_modules/android/brightcove/build/generated/jni/ti.brightcove.VideoProxy.h\r\n [java] Generating /Users/jenglish/titanium_mobile_modules/android/brightcove/build/generated/jni/ti.brightcove.VideoProxy.cpp\r\n [java] Generating /Users/jenglish/titanium_mobile_modules/android/brightcove/build/generated/jni/ti.brightcove.BrightcoveModule.h\r\n [java] Generating /Users/jenglish/titanium_mobile_modules/android/brightcove/build/generated/jni/ti.brightcove.BrightcoveModule.cpp\r\n [java] Dec 9, 2011 7:35:29 PM freemarker.log.JDK14LoggerFactory$JDK14Logger error\r\n [java] SEVERE: constant.value is undefined.\r\n [java] \r\n [java] constant.value is undefined.\r\n [java] The problematic instruction:\r\n [java] ----------\r\n [java] ==> ${constant.value?c} [on line 134, column 58 in ProxyBindingV8.cpp.fm]\r\n [java] in user-directive Proxy.listConstants [on line 130, column 9 in ProxyBindingV8.cpp.fm]\r\n [java] ----------\r\n [java] \r\n [java] Java backtrace for programmers:\r\n [java] ----------\r\n [java] freemarker.core.InvalidReferenceException: constant.value is undefined.\r\n [java] \tat freemarker.core.EvaluationUtil.getNumber(EvaluationUtil.java:104)\r\n [java] \tat freemarker.core.NumericalBuiltins$cBI._getAsTemplateModel(NumericalBuiltins.java:157)\r\n [java] \tat freemarker.core.Expression.getAsTemplateModel(Expression.java:89)\r\n [java] \tat freemarker.core.Expression.getStringValue(Expression.java:93)\r\n [java] \tat freemarker.core.DollarVariable.accept(DollarVariable.java:76)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.MixedContent.accept(MixedContent.java:92)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.IfBlock.accept(IfBlock.java:82)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:395)\r\n [java] \tat freemarker.core.BodyInstruction.accept(BodyInstruction.java:93)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.MixedContent.accept(MixedContent.java:92)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:167)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:417)\r\n [java] \tat freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.Macro$Context.runMacro(Macro.java:172)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:603)\r\n [java] \tat freemarker.core.UnifiedCall.accept(UnifiedCall.java:106)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.MixedContent.accept(MixedContent.java:92)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.MixedContent.accept(MixedContent.java:92)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.Environment.process(Environment.java:190)\r\n [java] \tat freemarker.template.Template.process(Template.java:237)\r\n [java] \tat org.appcelerator.kroll.annotations.generator.KrollBindingGenerator.saveTypeTemplate(KrollBindingGenerator.java:129)\r\n [java] \tat org.appcelerator.kroll.annotations.generator.KrollBindingGenerator.generateBindings(KrollBindingGenerator.java:290)\r\n [java] \tat org.appcelerator.kroll.annotations.generator.KrollBindingGenerator.main(KrollBindingGenerator.java:359)\r\n [java] \tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n [java] \tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)\r\n [java] \tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)\r\n [java] \tat java.lang.reflect.Method.invoke(Method.java:597)\r\n [java] \tat org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:217)\r\n [java] \tat org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:152)\r\n [java] \tat org.apache.tools.ant.taskdefs.Java.run(Java.java:771)\r\n [java] \tat org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:221)\r\n [java] \tat org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:135)\r\n [java] \tat org.apache.tools.ant.taskdefs.Java.execute(Java.java:108)\r\n [java] \tat org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)\r\n [java] \tat sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)\r\n [java] \tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)\r\n [java] \tat java.lang.reflect.Method.invoke(Method.java:597)\r\n [java] \tat org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)\r\n [java] \tat org.apache.tools.ant.Task.perform(Task.java:348)\r\n [java] \tat org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)\r\n [java] \tat org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)\r\n [java] \tat sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)\r\n [java] \tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)\r\n [java] \tat java.lang.reflect.Method.invoke(Method.java:597)\r\n [java] \tat org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)\r\n [java] \tat org.apache.tools.ant.Task.perform(Task.java:348)\r\n [java] \tat org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:398)\r\n [java] \tat org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)\r\n [java] \tat sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)\r\n [java] \tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)\r\n [java] \tat java.lang.reflect.Method.invoke(Method.java:597)\r\n [java] \tat org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)\r\n [java] \tat org.apache.tools.ant.Task.perform(Task.java:348)\r\n [java] \tat org.apache.tools.ant.Target.execute(Target.java:390)\r\n [java] \tat org.apache.tools.ant.Target.performTasks(Target.java:411)\r\n [java] \tat org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)\r\n [java] \tat org.apache.tools.ant.Project.executeTarget(Project.java:1368)\r\n [java] \tat org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)\r\n [java] \tat org.apache.tools.ant.Project.executeTargets(Project.java:1251)\r\n [java] \tat org.apache.tools.ant.Main.runBuild(Main.java:809)\r\n [java] \tat org.apache.tools.ant.Main.startAnt(Main.java:217)\r\n [java] \tat org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)\r\n [java] \tat org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)\r\n [java] \r\n [java] constant.value is undefined.\r\n [java] The problematic instruction:\r\n [java] ----------\r\n [java] ==> ${constant.value?c} [on line 134, column 58 in ProxyBindingV8.cpp.fm]\r\n [java] in user-directive Proxy.listConstants [on line 130, column 9 in ProxyBindingV8.cpp.fm]\r\n [java] ----------\r\n [java] \r\n [java] Java backtrace for programmers:\r\n [java] ----------\r\n [java] freemarker.core.InvalidReferenceException: constant.value is undefined.\r\n [java] \tat freemarker.core.EvaluationUtil.getNumber(EvaluationUtil.java:104)\r\n [java] \tat freemarker.core.NumericalBuiltins$cBI._getAsTemplateModel(NumericalBuiltins.java:157)\r\n [java] \tat freemarker.core.Expression.getAsTemplateModel(Expression.java:89)\r\n [java] \tat freemarker.core.Expression.getStringValue(Expression.java:93)\r\n [java] \tat freemarker.core.DollarVariable.accept(DollarVariable.java:76)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.MixedContent.accept(MixedContent.java:92)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.IfBlock.accept(IfBlock.java:82)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:395)\r\n [java] \tat freemarker.core.BodyInstruction.accept(BodyInstruction.java:93)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.MixedContent.accept(MixedContent.java:92)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:167)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:417)\r\n [java] \tat freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.Macro$Context.runMacro(Macro.java:172)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:603)\r\n [java] \tat freemarker.core.UnifiedCall.accept(UnifiedCall.java:106)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.MixedContent.accept(MixedContent.java:92)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.MixedContent.accept(MixedContent.java:92)\r\n [java] \tat freemarker.core.Environment.visit(Environment.java:210)\r\n [java] \tat freemarker.core.Environment.process(Environment.java:190)\r\n [java] \tat freemarker.template.Template.process(Template.java:237)\r\n [java] \tat org.appcelerator.kroll.annotations.generator.KrollBindingGenerator.saveTypeTemplate(KrollBindingGenerator.java:129)\r\n [java] \tat org.appcelerator.kroll.annotations.generator.KrollBindingGenerator.generateBindings(KrollBindingGenerator.java:290)\r\n [java] \tat org.appcelerator.kroll.annotations.generator.KrollBindingGenerator.main(KrollBindingGenerator.java:359)\r\n [java] \tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n [java] \tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)\r\n [java] \tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)\r\n [java] \tat java.lang.reflect.Method.invoke(Method.java:597)\r\n [java] \tat org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:217)\r\n [java] \tat org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:152)\r\n [java] \tat org.apache.tools.ant.taskdefs.Java.run(Java.java:771)\r\n [java] \tat org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:221)\r\n [java] \tat org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:135)\r\n [java] \tat org.apache.tools.ant.taskdefs.Java.execute(Java.java:108)\r\n [java] \tat org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)\r\n [java] \tat sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)\r\n [java] \tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)\r\n [java] \tat java.lang.reflect.Method.invoke(Method.java:597)\r\n [java] \tat org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)\r\n [java] \tat org.apache.tools.ant.Task.perform(Task.java:348)\r\n [java] \tat org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)\r\n [java] \tat org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)\r\n [java] \tat sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)\r\n [java] \tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)\r\n [java] \tat java.lang.reflect.Method.invoke(Method.java:597)\r\n [java] \tat org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)\r\n [java] \tat org.apache.tools.ant.Task.perform(Task.java:348)\r\n [java] \tat org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:398)\r\n [java] \tat org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)\r\n [java] \tat sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)\r\n [java] \tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)\r\n [java] \tat java.lang.reflect.Method.invoke(Method.java:597)\r\n [java] \tat org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)\r\n [java] \tat org.apache.tools.ant.Task.perform(Task.java:348)\r\n [java] \tat org.apache.tools.ant.Target.execute(Target.java:390)\r\n [java] \tat org.apache.tools.ant.Target.performTasks(Target.java:411)\r\n [java] \tat org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)\r\n [java] \tat org.apache.tools.ant.Project.executeTarget(Project.java:1368)\r\n [java] \tat org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)\r\n [java] \tat org.apache.tools.ant.Project.executeTargets(Project.java:1251)\r\n [java] \tat org.apache.tools.ant.Main.runBuild(Main.java:809)\r\n [java] \tat org.apache.tools.ant.Main.startAnt(Main.java:217)\r\n [java] \tat org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)\r\n [java] \tat org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)\r\n\r\ngenerate.bindings:\r\n\r\npre.compile:\r\n\r\nndk.build:\r\n [copy] Copying 1 file to /Users/jenglish/titanium_mobile_modules/android/brightcove/build/generated\r\n [copy] Copying 1 file to /Users/jenglish/titanium_mobile_modules/android/brightcove/build/generated/jni\r\n [exec] Compile++ thumb : ti.brightcove <= ti.brightcove.BrightcoveModule.cpp\r\n [exec] jni/Android.mk:24: warning: overriding commands for target `/Users/jenglish/titanium_mobile_modules/android/brightcove/build/generated/KrollGeneratedBindings.cpp'\r\n [exec] jni/Android.mk:24: warning: ignoring old commands for target `/Users/jenglish/titanium_mobile_modules/android/brightcove/build/generated/KrollGeneratedBindings.cpp'\r\n [exec] jni/Android.mk:27: warning: overriding commands for target `/Users/jenglish/titanium_mobile_modules/android/brightcove/build/generated/BootstrapJS.cpp'\r\n [exec] jni/Android.mk:27: warning: ignoring old commands for target `/Users/jenglish/titanium_mobile_modules/android/brightcove/build/generated/BootstrapJS.cpp'\r\n [exec] jni/ti.brightcove.BrightcoveModule.cpp:202:1: error: unterminated argument list invoking macro \"DEFINE_INT_CONSTANT\"\r\n [exec] jni/ti.brightcove.BrightcoveModule.cpp: In static member function 'static v8::Handle ti::brightcove::BrightcoveModule::getProxyTemplate()':\r\n [exec] jni/ti.brightcove.BrightcoveModule.cpp:116: error: 'DEFINE_INT_CONSTANT' was not declared in this scope\r\n [exec] jni/ti.brightcove.BrightcoveModule.cpp:116: error: expected ';' at end of input\r\n [exec] jni/ti.brightcove.BrightcoveModule.cpp:116: error: expected '}' at end of input\r\n [exec] jni/ti.brightcove.BrightcoveModule.cpp: At global scope:\r\n [exec] jni/ti.brightcove.BrightcoveModule.cpp:116: error: expected '}' at end of input\r\n [exec] jni/ti.brightcove.BrightcoveModule.cpp:116: error: expected '}' at end of input\r\n [exec] make: *** [/Users/jenglish/titanium_mobile_modules/android/brightcove/build/generated/obj/local/armeabi/objs/ti.brightcove/ti.brightcove.BrightcoveModule.o] Error 1\r\n\r\nBUILD FAILED\r\n/Library/Application Support/Titanium/mobilesdk/osx/1.8.0.1/module/android/build.xml:226: exec returned: 2\r\n\r\n{code}", "attachment": [], "flagged": false, "summary": "Android: Modules: Unable to build module with .ordinal()", "creator": { "name": "jenglish", "key": "jenglish", "displayName": "Jeff English", "active": true, "timeZone": "America/Chicago" }, "subtasks": [], "reporter": { "name": "jenglish", "key": "jenglish", "displayName": "Jeff English", "active": true, "timeZone": "America/Chicago" }, "environment": "SDK: 1.8.0.1.RC1\r\nRuntimes: Android V8/Rhino\r\nOS: OS X Snow Leopard\r\n\r\nUsing the \"apilevel2\" branch of the module source located in my fork of the modules repository", "comment": { "comments": [ { "id": "176540", "author": { "name": "nhuynh", "key": "nhuynh", "displayName": "Natalie Huynh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Built module with 1.8.0.1.RC3. Compiles without error. Leaving open to verify with 1.9.0", "updateAuthor": { "name": "nhuynh", "key": "nhuynh", "displayName": "Natalie Huynh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-12-19T12:55:29.000+0000", "updated": "2011-12-19T12:55:29.000+0000" }, { "id": "178969", "author": { "name": "wluu", "key": "wluu", "displayName": "Wilson Luu", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing bug. Already verified fix on 1.8.0.1", "updateAuthor": { "name": "wluu", "key": "wluu", "displayName": "Wilson Luu", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2012-01-11T15:30:09.000+0000", "updated": "2012-01-11T15:30:09.000+0000" } ], "maxResults": 2, "total": 2, "startAt": 0 } } }