Cannot generate .aix files anymore. Why?

259 views
Skip to first unread message

Arne Mailand

unread,
Oct 1, 2016, 9:26:57 PM10/1/16
to App Inventor Open Source Development
Hi,

I succeeded in creating a test .aix file according to this tutorial a few days ago:


I could generate the AltCamera.aix extension with terminal (os x) and ant etc. The directory "extension" was created, which included that AltCamera.aix file.

But as of today, I cannot create any .aix files anymore. I repeated the same procedure, but no extension directory or AltCamera.aix file is coming up. The @SimpleObject(external = true) line is set also.

In terminal, I get this output below. Can anybody help me out?

Thanks

------

Last login: Sun Oct  2 03:15:28 on ttys000

kirikiri3s-mbp:~ kirikiri3$ cd Documents/mai/appinventor

kirikiri3s-mbp:appinventor kirikiri3$ ant extensions

Buildfile: /Users/kirikiri3/Documents/mai/appinventor/build.xml


extensions:


clean:

   [delete] Deleting directory /Users/kirikiri3/Documents/mai/appinventor/build/components

   [delete] Deleting directory /Users/kirikiri3/Documents/mai/appinventor/components/build

   [delete] Deleting directory /Users/kirikiri3/Documents/mai/appinventor/components/reports


init:


common_CommonUtils:


init:


CommonUtils:


common_CommonVersion:


init:


CommonVersion:

     [exec] Result: 1

     [exec] Result: 1


CopyToRunLibDir:


components_AndroidRuntime:


init:

    [mkdir] Created dir: /Users/kirikiri3/Documents/mai/appinventor/build/components

    [mkdir] Created dir: /Users/kirikiri3/Documents/mai/appinventor/components/build

    [mkdir] Created dir: /Users/kirikiri3/Documents/mai/appinventor/components/build/classes

    [mkdir] Created dir: /Users/kirikiri3/Documents/mai/appinventor/components/reports

    [mkdir] Created dir: /Users/kirikiri3/Documents/mai/appinventor/components/reports/raw

    [mkdir] Created dir: /Users/kirikiri3/Documents/mai/appinventor/components/reports/html


CommonConstants:

    [mkdir] Created dir: /Users/kirikiri3/Documents/mai/appinventor/components/build/classes/CommonConstants

    [javac] Compiling 6 source files to /Users/kirikiri3/Documents/mai/appinventor/components/build/classes/CommonConstants

    [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.5

    [javac] warning: [options] source value 1.5 is obsolete and will be removed in a future release

    [javac] warning: [options] target value 1.5 is obsolete and will be removed in a future release

    [javac] warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.

    [javac] 4 warnings

    [javac] Creating empty /Users/kirikiri3/Documents/mai/appinventor/components/build/classes/CommonConstants/com/google/appinventor/components/common/package-info.class

      [jar] Building jar: /Users/kirikiri3/Documents/mai/appinventor/build/components/CommonConstants.jar

      [jar] Building jar: /Users/kirikiri3/Documents/mai/appinventor/build/components/CommonConstants-gwt.jar


HtmlEntities:

    [mkdir] Created dir: /Users/kirikiri3/Documents/mai/appinventor/components/build/classes/HtmlEntities

    [javac] Compiling 1 source file to /Users/kirikiri3/Documents/mai/appinventor/components/build/classes/HtmlEntities

    [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.5

    [javac] warning: [options] source value 1.5 is obsolete and will be removed in a future release

    [javac] warning: [options] target value 1.5 is obsolete and will be removed in a future release

    [javac] warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.

    [javac] 4 warnings

      [jar] Building jar: /Users/kirikiri3/Documents/mai/appinventor/components/build/HtmlEntities.jar


common_CommonVersion:


init:


CommonVersion:

     [exec] Result: 1

     [exec] Result: 1


AndroidRuntime:

    [mkdir] Created dir: /Users/kirikiri3/Documents/mai/appinventor/components/build/classes/AndroidRuntime

    [javac] Compiling 210 source files to /Users/kirikiri3/Documents/mai/appinventor/components/build/classes/AndroidRuntime

    [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.5

    [javac] warning: [options] source value 1.5 is obsolete and will be removed in a future release

    [javac] warning: [options] target value 1.5 is obsolete and will be removed in a future release

    [javac] warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.

    [javac] Note: Some input files use or override a deprecated API.

    [javac] Note: Recompile with -Xlint:deprecation for details.

    [javac] Note: Some input files use unchecked or unsafe operations.

    [javac] Note: Recompile with -Xlint:unchecked for details.

    [javac] 4 warnings

    [javac] Creating empty /Users/kirikiri3/Documents/mai/appinventor/components/build/classes/AndroidRuntime/com/google/appinventor/components/runtime/util/package-info.class

    [javac] Creating empty /Users/kirikiri3/Documents/mai/appinventor/components/build/classes/AndroidRuntime/com/google/appinventor/components/runtime/collect/package-info.class

    [javac] Creating empty /Users/kirikiri3/Documents/mai/appinventor/components/build/classes/AndroidRuntime/com/google/appinventor/components/annotations/package-info.class

    [javac] Creating empty /Users/kirikiri3/Documents/mai/appinventor/components/build/classes/AndroidRuntime/com/google/appinventor/components/runtime/package-info.class

    [javac] Creating empty /Users/kirikiri3/Documents/mai/appinventor/components/build/classes/AndroidRuntime/com/google/appinventor/components/runtime/errors/package-info.class

      [jar] Building jar: /Users/kirikiri3/Documents/mai/appinventor/build/components/AndroidRuntime.jar


components_Barcode:


Barcode:

    [mkdir] Created dir: /Users/kirikiri3/Documents/mai/appinventor/components/build/classes/Barcode

    [javac] Compiling 40 source files to /Users/kirikiri3/Documents/mai/appinventor/components/build/classes/Barcode

    [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.5

    [javac] warning: [options] source value 1.5 is obsolete and will be removed in a future release

    [javac] warning: [options] target value 1.5 is obsolete and will be removed in a future release

    [javac] warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.

    [javac] Note: Some input files use or override a deprecated API.

    [javac] Note: Recompile with -Xlint:deprecation for details.

    [javac] Note: Some input files use unchecked or unsafe operations.

    [javac] Note: Recompile with -Xlint:unchecked for details.

    [javac] 4 warnings

      [jar] Building jar: /Users/kirikiri3/Documents/mai/appinventor/build/components/Barcode.jar


components_ComponentList:


init:


CommonConstants:


ComponentProcessingLib:

    [mkdir] Created dir: /Users/kirikiri3/Documents/mai/appinventor/components/build/classes/ComponentProcessingLib

    [javac] Compiling 15 source files to /Users/kirikiri3/Documents/mai/appinventor/components/build/classes/ComponentProcessingLib

    [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.5

    [javac] warning: [options] source value 1.5 is obsolete and will be removed in a future release

    [javac] warning: [options] target value 1.5 is obsolete and will be removed in a future release

    [javac] warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.

    [javac] 4 warnings

    [javac] Creating empty /Users/kirikiri3/Documents/mai/appinventor/components/build/classes/ComponentProcessingLib/com/google/appinventor/components/annotations/package-info.class

      [jar] Building jar: /Users/kirikiri3/Documents/mai/appinventor/components/build/ComponentProcessingLib.jar


HtmlEntities:


common_CommonUtils:


init:


CommonUtils:


AnnotationProcessors:

    [mkdir] Created dir: /Users/kirikiri3/Documents/mai/appinventor/components/build/classes/AnnotationProcessors

    [javac] Compiling 7 source files to /Users/kirikiri3/Documents/mai/appinventor/components/build/classes/AnnotationProcessors

    [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.5

    [javac] warning: [options] source value 1.5 is obsolete and will be removed in a future release

    [javac] warning: [options] target value 1.5 is obsolete and will be removed in a future release

    [javac] warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.

    [javac] 4 warnings

    [javac] Creating empty /Users/kirikiri3/Documents/mai/appinventor/components/build/classes/AnnotationProcessors/com/google/appinventor/components/scripts/package-info.class

     [copy] Copying 22 files to /Users/kirikiri3/Documents/mai/appinventor/components/build/classes/AnnotationProcessors

      [jar] Building jar: /Users/kirikiri3/Documents/mai/appinventor/components/build/AnnotationProcessors.jar


common_CommonVersion:


init:


CommonVersion:

     [exec] Result: 1

     [exec] Result: 1


AndroidRuntime:

    [javac] Compiling 1 source file to /Users/kirikiri3/Documents/mai/appinventor/components/build/classes/AndroidRuntime

    [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.5

    [javac] warning: [options] source value 1.5 is obsolete and will be removed in a future release

    [javac] warning: [options] target value 1.5 is obsolete and will be removed in a future release

    [javac] warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.

    [javac] 4 warnings

      [jar] Building jar: /Users/kirikiri3/Documents/mai/appinventor/build/components/AndroidRuntime.jar


Barcode:


ComponentList:

    [mkdir] Created dir: /Users/kirikiri3/Documents/mai/appinventor/components/build/classes/ComponentList

    [javac] Compiling 196 source files to /Users/kirikiri3/Documents/mai/appinventor/components/build/classes/ComponentList

    [javac] warning: No SupportedSourceVersion annotation found on com.google.appinventor.components.scripts.ComponentListGenerator, returning RELEASE_6.

    [javac] warning: Supported source version 'RELEASE_6' from annotation processor 'com.google.appinventor.components.scripts.ComponentListGenerator' less than -source '1.8'

    [javac] warning: In component NearField, event TagWritten is missing a description.

    [javac] warning: In component Pedometer, event StartedMoving is missing a description.

    [javac] warning: In component Pedometer, event StoppedMoving is missing a description.

    [javac] warning: In component Pedometer, event CalibrationFailed is missing a description.

    [javac] warning: In component Pedometer, event GPSAvailable is missing a description.

    [javac] warning: In component Pedometer, event GPSLost is missing a description.

    [javac] Note: Wrote file file:/Users/kirikiri3/Documents/mai/appinventor/components/build/classes/ComponentList/simple_components.txt

    [javac] Note: Wrote file file:/Users/kirikiri3/Documents/mai/appinventor/components/build/classes/ComponentList/simple_components_build_info.json

    [javac] Note: Some input files use or override a deprecated API.

    [javac] Note: Recompile with -Xlint:deprecation for details.

    [javac] Note: Some input files use unchecked or unsafe operations.

    [javac] Note: Recompile with -Xlint:unchecked for details.

    [javac] 8 warnings

    [javac] Creating empty /Users/kirikiri3/Documents/mai/appinventor/components/build/classes/ComponentList/com/google/appinventor/components/runtime/util/package-info.class

    [javac] Creating empty /Users/kirikiri3/Documents/mai/appinventor/components/build/classes/ComponentList/com/google/appinventor/components/runtime/collect/package-info.class

    [javac] Creating empty /Users/kirikiri3/Documents/mai/appinventor/components/build/classes/ComponentList/com/google/appinventor/components/runtime/package-info.class

    [javac] Creating empty /Users/kirikiri3/Documents/mai/appinventor/components/build/classes/ComponentList/com/google/appinventor/components/runtime/errors/package-info.class

     [copy] Copying 1 file to /Users/kirikiri3/Documents/mai/appinventor/build/components

     [copy] Copying 1 file to /Users/kirikiri3/Documents/mai/appinventor/build/components


BuildServer:

     [copy] Copying 4 files to /Users/kirikiri3/Documents/mai/appinventor/buildserver/build/classes/BuildServer/files

      [jar] Building jar: /Users/kirikiri3/Documents/mai/appinventor/buildserver/build/run/lib/BuildServer.jar


init:


CommonConstants:


HtmlEntities:


common_CommonVersion:


init:


CommonVersion:

     [exec] Result: 1

     [exec] Result: 1


AndroidRuntime:

    [javac] Compiling 1 source file to /Users/kirikiri3/Documents/mai/appinventor/components/build/classes/AndroidRuntime

    [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.5

    [javac] warning: [options] source value 1.5 is obsolete and will be removed in a future release

    [javac] warning: [options] target value 1.5 is obsolete and will be removed in a future release

    [javac] warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.

    [javac] 4 warnings

      [jar] Building jar: /Users/kirikiri3/Documents/mai/appinventor/build/components/AndroidRuntime.jar


ComponentProcessingLib:


common_CommonUtils:


init:


CommonUtils:


AnnotationProcessors:


JsonComponentDescription:

    [mkdir] Created dir: /Users/kirikiri3/Documents/mai/appinventor/components/build/classes/JsonComponentDescription

    [javac] Compiling 196 source files to /Users/kirikiri3/Documents/mai/appinventor/components/build/classes/JsonComponentDescription

    [javac] warning: No SupportedSourceVersion annotation found on com.google.appinventor.components.scripts.ComponentDescriptorGenerator, returning RELEASE_6.

    [javac] warning: Supported source version 'RELEASE_6' from annotation processor 'com.google.appinventor.components.scripts.ComponentDescriptorGenerator' less than -source '1.8'

    [javac] warning: In component NearField, event TagWritten is missing a description.

    [javac] warning: In component Pedometer, event StartedMoving is missing a description.

    [javac] warning: In component Pedometer, event StoppedMoving is missing a description.

    [javac] warning: In component Pedometer, event CalibrationFailed is missing a description.

    [javac] warning: In component Pedometer, event GPSAvailable is missing a description.

    [javac] warning: In component Pedometer, event GPSLost is missing a description.

    [javac] 

    [javac] 

    [javac] An annotation processor threw an uncaught exception.

    [javac] Consult the following stack trace for details.

    [javac] java.lang.RuntimeException: Cannot convert Java type 'java.lang.Void[]' to Yail type

    [javac] at com.google.appinventor.components.scripts.ComponentProcessor.javaTypeToYailType(ComponentProcessor.java:1184)

    [javac] at com.google.appinventor.components.scripts.ComponentDescriptorGenerator.outputParameters(ComponentDescriptorGenerator.java:208)

    [javac] at com.google.appinventor.components.scripts.ComponentDescriptorGenerator.outputBlockMethod(ComponentDescriptorGenerator.java:187)

    [javac] at com.google.appinventor.components.scripts.ComponentDescriptorGenerator.outputComponent(ComponentDescriptorGenerator.java:125)

    [javac] at com.google.appinventor.components.scripts.ComponentDescriptorGenerator.outputResults(ComponentDescriptorGenerator.java:226)

    [javac] at com.google.appinventor.components.scripts.ComponentProcessor.process(ComponentProcessor.java:731)

    [javac] at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:794)

    [javac] at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:705)

    [javac] at com.sun.tools.javac.processing.JavacProcessingEnvironment.access$1800(JavacProcessingEnvironment.java:91)

    [javac] at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1035)

    [javac] at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1176)

    [javac] at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1170)

    [javac] at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:856)

    [javac] at com.sun.tools.javac.main.Main.compile(Main.java:523)

    [javac] at com.sun.tools.javac.main.Main.compile(Main.java:381)

    [javac] at com.sun.tools.javac.main.Main.compile(Main.java:370)

    [javac] at com.sun.tools.javac.main.Main.compile(Main.java:361)

    [javac] at com.sun.tools.javac.Main.compile(Main.java:56)

    [javac] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    [javac] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

    [javac] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    [javac] at java.lang.reflect.Method.invoke(Method.java:498)

    [javac] at org.apache.tools.ant.taskdefs.compilers.Javac13.execute(Javac13.java:57)

    [javac] at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:1344)

    [javac] at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:1070)

    [javac] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)

    [javac] at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)

    [javac] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    [javac] at java.lang.reflect.Method.invoke(Method.java:498)

    [javac] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)

    [javac] at org.apache.tools.ant.Task.perform(Task.java:348)

    [javac] at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)

    [javac] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)

    [javac] at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)

    [javac] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    [javac] at java.lang.reflect.Method.invoke(Method.java:498)

    [javac] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)

    [javac] at org.apache.tools.ant.Task.perform(Task.java:348)

    [javac] at org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:396)

    [javac] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)

    [javac] at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)

    [javac] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    [javac] at java.lang.reflect.Method.invoke(Method.java:498)

    [javac] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)

    [javac] at org.apache.tools.ant.Task.perform(Task.java:348)

    [javac] at org.apache.tools.ant.Target.execute(Target.java:435)

    [javac] at org.apache.tools.ant.Target.performTasks(Target.java:456)

    [javac] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1405)

    [javac] at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)

    [javac] at org.apache.tools.ant.Project.executeTargets(Project.java:1260)

    [javac] at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:441)

    [javac] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)

    [javac] at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)

    [javac] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    [javac] at java.lang.reflect.Method.invoke(Method.java:498)

    [javac] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)

    [javac] at org.apache.tools.ant.Task.perform(Task.java:348)

    [javac] at org.apache.tools.ant.Target.execute(Target.java:435)

    [javac] at org.apache.tools.ant.Target.performTasks(Target.java:456)

    [javac] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1405)

    [javac] at org.apache.tools.ant.Project.executeTarget(Project.java:1376)

    [javac] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)

    [javac] at org.apache.tools.ant.Project.executeTargets(Project.java:1260)

    [javac] at org.apache.tools.ant.Main.runBuild(Main.java:854)

    [javac] at org.apache.tools.ant.Main.startAnt(Main.java:236)

    [javac] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:285)

    [javac] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:112)


BUILD FAILED

/Users/kirikiri3/Documents/mai/appinventor/build.xml:36: The following error occurred while executing this line:

/Users/kirikiri3/Documents/mai/appinventor/components/build.xml:343: The following error occurred while executing this line:

/Users/kirikiri3/Documents/mai/appinventor/components/build.xml:230: Compile failed; see the compiler error output for details.


Total time: 16 seconds

kirikiri3s-mbp:appinventor kirikiri3$ 


Arne Mailand

unread,
Oct 2, 2016, 6:34:40 AM10/2/16
to App Inventor Open Source Development
Well, the errors seem to be happening in line 36, 343 and 230. Unfortunately, I am pretty unsure how the lines are numberd. Can anybody tell me this? I attached the .xml file to this message.

Thanks,
build.xml

Arne Mailand

unread,
Oct 2, 2016, 6:43:05 AM10/2/16
to App Inventor Open Source Development
Hm this is very confusing though, since the xml file does seem to have 150 or 180 lines only (depending on whether you count the comment lines or not). Any ideas?

Arne Mailand

unread,
Oct 2, 2016, 6:45:49 AM10/2/16
to App Inventor Open Source Development
By the way, I didnt build the App Inventer on my pc. I skipped that step. Could this somehow be related to the issue? I few days ago, it was no problem though. Should I redownload the whole App Inventer Sources maybe?

Jos Flores

unread,
Oct 2, 2016, 6:54:10 AM10/2/16
to app-inventor-open-source-dev
It seems like you are using a java.lang.Void type somewhere in your
extension, and the compiler does not like that.

Did you have an issue recently with void and constructors?

cheers,
José
> --
> You received this message because you are subscribed to the Google Groups
> "App Inventor Open Source Development" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to app-inventor-open-so...@googlegroups.com.
> To post to this group, send email to
> app-inventor-o...@googlegroups.com.
> Visit this group at
> https://groups.google.com/group/app-inventor-open-source-dev.
> For more options, visit https://groups.google.com/d/optout.

Arne Mailand

unread,
Oct 2, 2016, 10:09:45 AM10/2/16
to App Inventor Open Source Development
Hey, thanks for your response, José!

Yes indeed I had one :) That was the last extension I tried to compile. But I put changed the parameter in the from

@SimpleObject(external = true)

to

@SimpleObject(external = false)

So I thought this one wouldnt matter anymore and shouldnt affect the build process of test .aix from the tutorial where (external = true) is set. But I was wrong with it apparently. So I removed that file completely from the directory and everything works fine.

Anyways, my goal is to make the extension, which caused the build errors with that void, working. If you are familiar with that, I would be very pleased if you could join the discussion about this in this thread:


You might have discovered it aleady.

Thank you a lot


On Sunday, October 2, 2016 at 12:54:10 PM UTC+2, Jos wrote:
It seems like you are using a java.lang.Void type somewhere in your
extension, and the compiler does not like that.

Did you have an issue recently with void and constructors?

cheers,
José



On 2 October 2016 at 11:45, Arne Mailand <armai...@gmail.com> wrote:
> By the way, I didnt build the App Inventer on my pc. I skipped that step.
> Could this somehow be related to the issue? I few days ago, it was no
> problem though. Should I redownload the whole App Inventer Sources maybe?
>
> --
> You received this message because you are subscribed to the Google Groups
> "App Inventor Open Source Development" group.
> To unsubscribe from this group and stop receiving emails from it, send an
Reply all
Reply to author
Forward
0 new messages