Skip to content

Commit

Permalink
Merge branch 'release-4.0.0-alpha.3'
Browse files Browse the repository at this point in the history
  • Loading branch information
jim-parry committed Nov 30, 2018
2 parents 1d08b04 + 23063a0 commit 3b7f73e
Show file tree
Hide file tree
Showing 537 changed files with 22,346 additions and 15,424 deletions.
10 changes: 1 addition & 9 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -43,32 +43,25 @@ $RECYCLE.BIN/
# as it poses a security risk.
.env
.vagrant
application/.env
Vagrantfile

#-------------------------
# Temporary Files
#-------------------------
writable/cache/*
!writable/cache/index.html
!writable/cache/.htaccess

writable/logs/*
!writable/logs/index.html
!writable/logs/.htaccess

writable/session/*
!writable/session/index.html
!writable/session/.htaccess

writable/uploads/*
!writable/uploads/index.html
!writable/uploads/.htaccess

writable/debugbar/*

application/Database/Migrations/2*

php_errors.log

#-------------------------
Expand Down Expand Up @@ -130,5 +123,4 @@ nb-configuration.xml
.vscode/

/results/
/phpunit*.xml

/phpunit*.xml
5 changes: 4 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,13 @@ language: php
php:
- 7.1
- 7.2
- 7.3
- nightly

matrix:
fast_finish: true
allow_failures:
- php: 7.3
- php: nightly

global:
Expand All @@ -16,7 +18,8 @@ global:

# Recommended by Travis support
sudo: required
dist: precise
dist: trusty
group: edge

env:
- DB=mysqli
Expand Down
12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# CodeIgniter 4 Development

[![Build Status](https://travis-ci.org/bcit-ci/CodeIgniter4.svg?branch=develop)](https://travis-ci.org/bcit-ci/CodeIgniter4)
[![Coverage Status](https://coveralls.io/repos/github/bcit-ci/CodeIgniter4/badge.svg?branch=develop)](https://coveralls.io/github/bcit-ci/CodeIgniter4?branch=develop)
[![Build Status](https://travis-ci.org/codeigniter4/CodeIgniter4.svg?branch=develop)](https://travis-ci.org/codeigniter4/CodeIgniter4)
[![Coverage Status](https://coveralls.io/repos/github/codeigniter4/CodeIgniter4/badge.svg?branch=develop)](https://coveralls.io/github/codeigniter4/CodeIgniter4?branch=develop)
<br>

## What is CodeIgniter?
CodeIgniter is a PHP full-stack web framework that is light, fast, flexible, and secure.
More information can be found at the [official site](http://codeigniter.com).

This repository holds the pre-alpha code for CodeIgniter 4 only.
This repository holds the alpha code for CodeIgniter 4 only.
Version 4 is a complete rewrite to bring the quality and the code into a more modern version,
while still keeping as many of the things intact that has made people love the framework over the years.

Expand All @@ -18,7 +18,9 @@ More information about the plans for version 4 can be found in [the announcement

### Documentation

The current documentation can be found [here](https://bcit-ci.github.io/CodeIgniter4/). As with the rest of the framework, it is currently a work in progress, and will see changes over time to structure, explanations, etc.
The current in-progress documentation can be found [here](https://codeigniter4.github.io/CodeIgniter4/).
As with the rest of the framework, it is currently a work in progress, and will see changes over time to structure, explanations, etc.


## Important Change with index.php

Expand Down Expand Up @@ -63,7 +65,7 @@ if you want to take the lead for one of them.

We are not looking for out-of-scope contributions, only those that would be considered part of our controlled evolution!

Please read the [*Contributing to CodeIgniter*](https://github.com/bcit-ci/CodeIgniter4/blob/develop/contributing.md) section in the user guide
Please read the [*Contributing to CodeIgniter*](https://github.com/codeigniter4/CodeIgniter4/blob/develop/contributing.md) section in the user guide

## Server Requirements
PHP version 7.1 or higher is required, with the following extensions installed:
Expand Down
90 changes: 87 additions & 3 deletions admin/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,90 @@
# CodeIgniter 4 Admin
#CodeIgniter 4 Admin

This folder contains tools or docs useful for project maintainers.

- [docbot](./docbot.md) - build & deploy user guide
- [release](./release.md) - build & deploy framework release
##Repositories inside https://github.com/codeigniter4

- **CodeIgniter4** is the main development repository.
It supports issues and pull requests, and has a rule to enforce GPG-signed commits.
In addition to the framework source, it includes unit testing and documentation source.
The three repositories following are built from this one as part of the release workflow.
This repo is meant to be forked by contributors.

- **framework** is the released developer repository.
It contains all the main pieces of the framework that developers would use to
build their apps, but not the framework unit testing or the user guide source.
It is meant to be downloaded by developers, or composer-installed.
This is a read-only repository.
- **appstarter** is the released application starter repository.
It is derived from the framework's `application` and `public` folders, with
a composer requirement dependency to pull in the framework itself.
It is meant to be downloaded or composer-installed.
This is a read-only repository.
- **userguide** is released documentation publishing repository.
It contains built versions of the user guide, corresponding to the
framework releases.
It could be downloaded, forked or potentially composer-installed.
This is a read-only repository.

- **coding-standard** is the coding style standards repository.
It contains PHP CodeSniffer rules to ensure consistent code style
within the framework itself.
It is meant to be composer-installed.
- **translations** is the repository holding official translations of
the locale-dependent system messages.
It is community-maintained, and accepts issues and pull requests.
It could be downloaded, forked or composer-installed.

##Contributor Scripts

- **setup.sh** installs a git pre-commit hook into a contributor's
local clone of their fork of the `CodeIgniter4` repository.
- **pre-commit** runs PHP Lint and PHP CodeSniffer on any files
to be added as part of a git commit, ensuring that they conform to the
framework coding style standards, and automatically fixing what can be.

##Maintainer Scripts

- **release-config** holds variables used for the maintainer & release building
- **docbot** re-builds the user guide from the RST source for it,
and optionally deploys it to the `gh-pages` branch of the main
repository (if the user running it has maintainer rights on that repo).
See the [writeup](./docbot.md).

##Release Building Scripts

The release workflow is detailed in its own writeup; these are the main
scripts used by the release manager:

- **release** builds a new release branch in the main repo, for vetting.
This includes updating version dependencies or constants,
generating version(s) of the user guide; and possibly
moving or ignoring stuff, distinguishing release from development.
If successful, it will update the `config` file, with the version number
in it, and it will run the related scripts following, to revise
the release distributions.
Usage: `admin/release version qualifier`
- **release-framework** builds the distributable framework repo.
It could be used on its own, but is normally part of `release`.
- **release-appstarter** builds the distributable appstarter repo.
It could be used on its own, but is normally part of `release`.
- **release-userguide** builds the distributable userguide repo.
It could be used on its own, but is normally part of `release`.
- **release-deploy** pushes the release changes to the appropriate github
repositories. Tag & create releases on github. This is not easily reversible!
Usage: `admin/release-deploy version qualifier`
- **release-revert** can be used to restore your repositories to the state they
were in before you started a release. **IF** you haven't deployed.
This is in case you decide not to proceed with the release, for any reason.
Remember to be polite when running it.


##Other Stuff

- **release-notes.bb** is a boilerplate for forum announcements of a new release.
It is marked up using [BBcode](https://en.wikipedia.org/wiki/BBCode).
- The **framework** and **starter** subfolders contain files that will over-ride
those from the development repository, when the distribution repositories
are built.
- The subfolders inside `admin` contain "next release" files in the case of
`codeigniter4` and over-written distribution files in the other cases.
4 changes: 2 additions & 2 deletions admin/docbot
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

# Rebuild and deploy CodeIgniter4 user guide

UPSTREAM=https://github.com/bcit-ci/CodeIgniter4.git
. config

# Prepare the nested repo clone folder
cd user_guide_src
Expand Down Expand Up @@ -33,4 +33,4 @@ if [ $1 = "deploy" ]; then
git add .
git commit -S -m "Docbot synching"
git push -f origin gh-pages
fi
fi
4 changes: 2 additions & 2 deletions admin/docbot.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

Builds & deploys user guide.

The CI4 user guide, warts & all, is rebuilt in a nested
The in-progress CI4 user guide, warts & all, is rebuilt in a nested
repository clone (`user_guide_src/build/html`), with the result
optionally pushed to the `gh-pages` branch of the repo.
That would then be publically visible as the in-progress
version of the [User Guide](https://bcit-ci.github.io/CodeIgniter4/).
version of the [User Guide](https://codeigniter4.github.io/CodeIgniter4/).

## Audience

Expand Down
69 changes: 69 additions & 0 deletions admin/framework/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# CodeIgniter 4 Framework

## What is CodeIgniter?
CodeIgniter is a PHP full-stack web framework that is light, fast, flexible, and secure.
More information can be found at the [official site](http://codeigniter.com).

This repository holds the distributable version of the framework,
including the user guide. It has been built from the
[development repository](https://github.com/codeigniter4/CodeIgniter4).

**This is pre-release code and should not be used in production sites.**

More information about the plans for version 4 can be found in [the announcement](http://forum.codeigniter.com/thread-62615.html) on the forums.

The user guide corresponding to this version of the framework can be found
[here](https://codeigniter4.github.io/userguide/).


## Important Change with index.php

`index.php` is no longer in the root of the project! It has been moved inside the *public* folder,
for better security and separation of components.

This means that you should configure your web server to "point" to your project's *public* folder, and
not to the project root. A better practice would be to configure a virtual host to point there. A poor practice would be to point your web server to the project root and expect to enter *public/...*, as the rest of your logic and the
framework are exposed.

**Please** read the user guide for a better explanation of how CI4 works!
The user guide updating and deployment is a bit awkward at the moment, but we are working on it!

## Repository Management
We use Github issues to track **BUGS** and to track approved **DEVELOPMENT** work packages.
We use our [forum](http://forum.codeigniter.com) to provide SUPPORT and to discuss
FEATURE REQUESTS.

If you raise an issue here that pertains to support or a feature request, it will
be closed! If you are not sure if you have found a bug, raise a thread on the forum first -
someone else may have encountered the same thing.

Before raising a new Github issue, please check that your bug hasn't already
been reported or fixed.

We use pull requests (PRs) for CONTRIBUTIONS to the repository.
We are looking for contributions that address one of the reported bugs or
approved work packages.

Do not use a PR as a form of feature request.
Unsolicited contributions will only be considered if they fit nicely
into the framework roadmap.
Remember that some components that were part of CodeIgniter 3 are being moved
to optional packages, with their own repository.

## Contributing
We welcome contributions from the community.

Please read the [*Contributing to CodeIgniter*](https://github.com/codeigniter4/CodeIgniter4/blob/develop/contributing.md) section in the development repository.

## Server Requirements
PHP version 7.1 or higher is required, with the following extensions installed:

- [intl](http://php.net/manual/en/intl.requirements.php)
- [libcurl](http://php.net/manual/en/curl.requirements.php) if you plan to use the HTTP\CURLRequest library

Additionally, make sure that the following extensions are enabled in your PHP:

- json (enabled by default - don't turn it off)
- [mbstring](http://php.net/manual/en/mbstring.installation.php)
- [mysqlnd](http://php.net/manual/en/mysqlnd.install.php)
- xml (enabled by default - don't turn it off)
38 changes: 38 additions & 0 deletions admin/framework/composer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"name": "codeigniter4/framework",
"type": "project",
"description": "The CodeIgniter framework v4",
"homepage": "https://codeigniter.com",
"license": "MIT",
"require": {
"php": ">=7.1",
"ext-curl": "*",
"ext-intl": "*",
"kint-php/kint": "^2.1",
"zendframework/zend-escaper": "^2.5"
},
"require-dev": {
"codeigniter4/codeigniter4-standard": "^1.0",
"mikey179/vfsStream": "1.6.*",
"phpunit/phpunit": "^7.0",
"squizlabs/php_codesniffer": "^3.3"
},
"autoload": {
"psr-4": {
"CodeIgniter\\": "system/",
"Psr\\Log\\": "system/ThirdParty/PSR/Log/"
}
},
"scripts": {
"post-update-cmd": [
"composer dump-autoload",
"CodeIgniter\\ComposerScripts::postUpdate",
"bash admin/setup.sh"
]
},
"support": {
"forum": "http://forum.codeigniter.com/",
"source": "https://github.com/codeigniter4/CodeIgniter4",
"slack": "https://codeigniterchat.slack.com"
}
}
28 changes: 28 additions & 0 deletions admin/framework/phpunit.xml.dist
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="tests/_support/_bootstrap.php"
backupGlobals="false"
colors="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
stopOnError="false"
stopOnFailure="false"
stopOnIncomplete="false"
stopOnSkipped="false">
<testsuites>
<testsuite name="app">
<directory>./tests</directory>
<exclude>./tests/system</exclude>
</testsuite>
</testsuites>

<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">./system</directory>
<exclude>
<directory>./system</directory>
</exclude>
</whitelist>
</filter>

</phpunit>
Loading

0 comments on commit 3b7f73e

Please sign in to comment.