Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
Osiris-Team committed Oct 11, 2021
2 parents 0542fef + 02ee13f commit abb5779
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 22 deletions.
24 changes: 24 additions & 0 deletions .github/workflows/maven.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven

name: Java CI with Maven

on:
pull_request:
branches: [ main ]

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Set up JDK 11
uses: actions/setup-java@v2
with:
java-version: '11'
distribution: 'adopt'
cache: maven
- name: Build with Maven
run: mvn -B package --file pom.xml
47 changes: 25 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,31 +31,10 @@ Note that the first run may take a bit because Node.js and its modules get insta
| [Puppeteer](https://github.com/puppeteer/puppeteer) | Yes | Node.js | No | No |
| [Graal](https://github.com/oracle/graaljs) | Yes | GraalJS | No | Yes |

### Definitions
- JS: JavaScript
- Full Java: If the browser is completely written in Java or not
- Downloads: If the browser is able to download files other than html/xml/pdf
(JS = JavaScript; Full Java = If the browser is completely written in Java or not; Downloads = If the browser is able to download files other than html/xml/pdf)

### Contribute/Build

#### Why contribute?

I worked with multiple different browsers like JCEF, Selenium, JWebdriver, HtmlUnit and maybe some more I don't remember
now, but all have one thing in common. They have some kind of caveat.

That's why I started this project. To create a new browser, not dependent on Chromium or Waterfox etc., written in Java,
compatible with all operating systems that can run Java. We use Jsoup to handle HTML and the GraalJS engine to handle
JavaScript.

Now you may ask: Why do you need my help? Our problem is that most of the JavaScript code out there uses so
called [Web-APIs](https://developer.mozilla.org/en-US/docs/Web/API)
, which get shipped with each browser. We will need to implement those APIs by ourselfs.

There are a lot of Web-APIs available, so we need some motivated people to implement them. If you want to help, thank
you **very** much, already in
advance! [Click here to see a list of already implemented APIs and how to implement one.](how-to-implement-a-js-web-api.md)
If you are working on an implementation open an issue to keep track of who is working on what and avoid duplicate work.

#### Beginners

If you have never contributed before, we recommend
Expand Down Expand Up @@ -110,6 +89,30 @@ implemented the Node.js engine to be completely usable in Java and some
to have something usable right now.
Read more about this in "Why contribute?".
</details>
<details>
<summary>Why contribute?</summary>
I worked with multiple different browsers like JCEF, Selenium, JWebdriver, HtmlUnit and maybe some more I don't remember
now, but all have one thing in common. They have some kind of caveat.

That's why I started this project. To create a new browser, not dependent on Chromium or Waterfox etc., written in Java,
compatible with all operating systems that can run Java. We use Jsoup to handle HTML and the GraalJS engine to handle
JavaScript.

Now you may ask: Why do you need my help? Our problem is that most of the JavaScript code out there uses so
called Web-APIs: https://developer.mozilla.org/en-US/docs/Web/API
, which get shipped with each browser. We will need to implement those APIs by ourselfs.

There are a lot of Web-APIs available, so we need some motivated people to implement them. If you want to help, thank
you <b>very</b> much, already in
advance! Here is a list of already implemented APIs and how to implement one: /how-to-implement-a-js-web-api.md
If you are working on an implementation open an issue to keep track of who is working on what and avoid duplicate work.
</details>
<details>
<summary>What is the motivation behind this project?</summary>
There are only Java browsers available that you have to buy, or they are free but come with some caveat.
Thats why this project exists.
We want to provide the latest and best technologies regarding headless browsers and make them available to Java applications.
</details>

### Libraries

Expand Down

0 comments on commit abb5779

Please sign in to comment.