<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl"?>
<rdf:RDF xml:lang="en"
         xmlns="http://usefulinc.com/ns/doap#" 
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
         xmlns:asfext="http://projects.apache.org/ns/asfext#"
         xmlns:foaf="http://xmlns.com/foaf/0.1/">
<!--

Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements.  See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

-->
  <Project rdf:about="https://royale.apache.org">
    <created>2023-09-05</created>
    <license rdf:resource="https://spdx.org/licenses/Apache-2.0" />
    <name>Apache Royale</name>
    <homepage rdf:resource="https://royale.apache.org" />
    <asfext:pmc rdf:resource="https://royale.apache.org" />
    <shortdesc>Compiles programs written in ActionScript and MXML into JavaScript and HTML that can run wherever JavaScript runs.</shortdesc>
    <description>Apache Royale implements the principles of Apache Flex to support development of applications designed for JavaScript instead of Adobe Flash/AIR runtimes. Apache Royale improves developer productivity in creating applications to run wherever JavaScript runs, including on browsers, in Apache Cordova applications, on Node, and on other platforms.</description>
    <bug-database rdf:resource="https://github.com/apache/royale-asjs/issues" />
    <mailing-list rdf:resource="https://royale.apache.org/mailing-lists/" />
    <download-page rdf:resource="https://royale.apache.org/download/" />
    <programming-language>ActionScript</programming-language>
    <category rdf:resource="https://projects.apache.org/category/web-framework" />
    <release>
      <Version>
        <name>Apache Royale</name>
        <created>2023-06-05</created>
        <revision>0.9.10</revision>
      </Version>
    </release>
</Project>
</rdf:RDF>
