Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Suggested change to make Penny source easier to update #3

Open
BrucePerens opened this issue Feb 10, 2021 · 1 comment
Open

Suggested change to make Penny source easier to update #3

BrucePerens opened this issue Feb 10, 2021 · 1 comment

Comments

@BrucePerens
Copy link

BrucePerens commented Feb 10, 2021

I brought in the update of Shield, and felt that updating Penny while it is interleaved with the rest of my app had become too messy. It's also not possible to update Penny by simply doing a git update from your repository. My solution was to move Penny to its own directory, separate from my app, and make this monster of an app.cr file to put Penny and my app together. It thus works with no modifications to Penny and I can git update without pain. Require statements were expanded to be per-directory in a few places, because I am avoiding pulling in your versions of layouts, api_action and browser_action, base_model, etc. Hopefully you can think of a neater way to do this. It strikes me that this would also work with a shard, which would make updating even cleaner. Thanks!

require "./queries/mixins/**"
require "./queries/**"
require "./operations/mixins/**"
require "./operations/**"
require "../../penny/src/operations/**"
require "./serializers/base_serializer"
require "../../penny/src/serializers/bearer_login_serializer"
require "../../penny/src/serializers/login_serializer"
require "../../penny/src/serializers/user_serializer"
require "./serializers/**"
require "./emails/base_email"
require "./emails/**"
require "../../penny/src/emails/email_confirmation_request_email"
require "../../penny/src/emails/guest_password_reset_request_email"
require "../../penny/src/emails/login_notification_email"
require "../../penny/src/emails/password_change_notification_email"
require "../../penny/src/emails/password_reset_request_email"
require "../../penny/src/emails/user_email_confirmation_request_email"
require "../../penny/src/emails/user_welcome_email"
require "../../penny/src/emails/welcome_email"
require "./actions/mixins/**"
require "./actions/api_action"
require "./actions/browser_action"
require "../../penny/src/actions/api/**"
require "../../penny/src/actions/bearer_logins/**"
require "../../penny/src/actions/current_login/**"
require "../../penny/src/actions/current_user/**"
require "../../penny/src/actions/email_confirmations/**"
require "../../penny/src/actions/mixins/**"
require "../../penny/src/actions/password_resets/**"
require "../../penny/src/actions/users/**"
require "./actions/**"
require "./components/base_component"
require "./components/**"
require "./pages/mixins/**"
require "./pages/main_layout"
require "./pages/auth_layout"
require "../../penny/src/pages/bearer_logins/**"
require "../../penny/src/pages/current_login/**"
require "../../penny/src/pages/current_user/**"
require "../../penny/src/pages/email_confirmations/**"
require "../../penny/src/pages/mixins/**"
require "../../penny/src/pages/password_resets/**"
require "../../penny/src/pages/users/**"
require "./pages/**"
require "./handlers/base_handler"
require "./handlers/**"
require "../config/env"
require "../config/**"
require "../db/migrations/**"
require "./app_server"
@akadusei
Copy link
Contributor

Penny is a starter template, so pulling it out defeats the purpose. One may add and remove stuff as one wants, so it's difficult to figure out what goes in and what doesn't.

I would advise against updating Penny itself for every Shield release. Instead, check penny.diff for any changes, and apply them manually as required. There's probably a better way, but this works for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants