Commit Graph
70 Commits
Author SHA1 Message Date
jartandjianglai 44890c2964 Fix registry_ear_file
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=196918963
2018-05-17 21:52:35 -04:00
jartandBen McIlwain edb5240ff5 Use new mirror.bazel.build hostname for Closure Rules library
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=155854194
2017-05-17 12:06:34 -04:00
jartandBen McIlwain d419f6ac11 Export annotations from Guava
These annotations are part of guava's API, and they cannot safely be
optimized off the compile-time classpath.

This works around google/error-prone#615.

See []
H/T @cushon

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=155433554
2017-05-17 11:40:02 -04:00
jartandBen McIlwain f37296c3a1 Set output_licenses on java_plugin
The fix was released in Bazel 0.4.4 a month ago.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150630179
2017-03-21 15:39:28 -04:00
jartandBen McIlwain 0c7443815a Add generates_api to Auto Factory too
We're going to play it safe, since the third_party definition of Auto Factory seems to have it too.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=149534930
2017-03-13 10:32:24 -04:00
jartandBen McIlwain 13249db5cf Set generates_api=1 for Dagger component processor
Context: [] and []

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=148885749
2017-03-07 13:27:21 -05:00
jartandBen McIlwain 734130aa73 Restructure Maven dependencies in build
We're now using java_import_external instead of maven_jar. This allows
us to specify the relationships between jars, thereby allowing us to
eliminate scores of vendor BUILD files that did nothing but re-export
@foo//jar targets, thus addressing the concerns of djhworld on Hacker
News: https://news.ycombinator.com/item?id=12738072

We now have redundant failover mirrors, which is a feature I added to
Bazel 0.4.2 in https://github.com/bazelbuild/bazel/commit/ed7ced0018dc5c5ebd6fc8afc7158037ac1df00d

A new standard naming convention is now being used for all Maven repos.
Those names are calculated from the group_artifact name using the
following algorithm that eliminates redundancy:
https://gist.github.com/jart/41bfd977b913c2301627162f1c038e55

The JSR330 dep has been removed from java targets if they also depend
on Dagger, since Dagger always exports JSR330.

Annotation processor dependencies should now be leaner and meaner, by
more appropriately managing what needs to be on the classpath at
runtime. This should trim down the production jar by >1MB. As it stands
currently in the open source world:

- backend_jar_deploy.jar: 50MB
- frontend_jar_deploy.jar: 30MB
- tools_jar_deploy.jar: 45MB

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=143487929
2017-01-09 11:59:04 -05:00
jartandBen McIlwain 59f4984083 Upgrade Nomulus to latest Closure Rules
Significant technical debt has been eliminated. The latest best
practices are also now adopted for dealing with runfiles and dealing
with files across repositories.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140762937
2016-12-06 11:52:46 -05:00
jartandBen McIlwain 2e81de9954 Make essential Bazel packages publicly visible
This allows separate Bazel projects to reference Nomulus as an external
repository. They can then copy the []
directory structure into their own project and customize the Action
and Module lists for the GAE modules in their own deployment.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=136863886
2016-10-24 11:57:00 -04:00
jartandBen McIlwain ad66f805cf Fix Closure transpile.js build error
See also:
- google/closure-compiler#2051
- bazelbuild/rules_closure@9e92334

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135138725
2016-10-05 11:58:23 -04:00
jartandBen McIlwain b77ebd1df9 Don't use modules to instantiate classes
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=132380251
2016-09-07 12:17:58 -04:00
jartandBen McIlwain f73e1c06b1 Remove InetAddress.getLocalHost() from tests
It seems the Bazel sandbox has become stricter at HEAD (which is
AWESOME) which caused this error to materialize from the shadows:

9) testExpiredTransfer_subordinateHost(google.registry.model.host.HostResourceTest)
java.net.UnknownHostException: sandbox: sandbox: unknown error
  at java.net.InetAddress.getLocalHost(InetAddress.java:1505)
  at google.registry.model.host.HostResourceTest.setUp(HostResourceTest.java:82)
  ...
Caused by: java.net.UnknownHostException: sandbox: unknown error
  at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
  at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
  at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
  at java.net.InetAddress.getLocalHost(InetAddress.java:1500)

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=130700624
2016-08-22 14:31:45 -04:00
Justine Tunney 3f4121b98c Clean up some genrule() script code
The XJC genrule in particular was dirtying /tmp which I believe may have
been causing problems for Donuts.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=129451600
2016-08-05 20:40:39 -04:00
Justine Tunney e1d02d1ea5 Make ConfigUtils public
So users can reference it from other places.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=129450838
2016-08-05 20:40:23 -04:00
Justine Tunney 51bdb26e7d Make App Engine API JAR show up in WAR
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=129356083
2016-08-04 15:03:38 -04:00
Justine Tunney 7cc7dc4af2 Use zip_rule() for EAR/WAR deploy archives
These build rules allow Bazel to generate the .ear and .war files which
appcfg.sh (a tool that comes with the App Engine SDK) can then use to
perform a deployment.

Included in this CL are configurations for five separate production
environments: production, sandbox, alpha, crash, and local.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=129163010
2016-08-02 21:00:39 -04:00
Justine Tunney e2471b837a Unstrip LrpToken from EntityClasses
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=129142160
2016-08-02 19:23:01 -04:00
Justine Tunney f9636b6cea Modify zip_file() to output script file
It turns out that if the script gets super huge, then Bazel will fail in
a mysterious way if you pass the script as a string to ctx.action.

This way of doing things is better anyway, because this makes it much
easier for the user to see the script that was actually generated for
troubleshooting purposes.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=129114272
2016-08-02 19:18:18 -04:00
Justine Tunney 37d30591ed Narrowly scope privileges for API service objects
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=129099520
2016-08-02 19:18:09 -04:00
Justine Tunney 9de287378b Create zip_file() rule
This doesn't work quite the same way as Fileset(). But it should be able
to serve as a decent replacement.

The important part of this design is that zips can depend on other zips.
Therefore definitions don't have to be monolithic. This will be
important when migrating the Domain Registry codebase, because our
Fileset() definitions are dispersed across many BUILD files. So we'll be
able to migrate to zip_file() with the least amount of intrusiveness.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=129034885
2016-08-02 19:17:55 -04:00
Justine Tunney 3f471a32e2 System property loader for RegistryConfig
This change allows registries to customize the values returned by
RegistryConfig methods without needing to edit Domain Registry code in a
forked repository. This is accomplished by defining a custom
RegistryConfig implementation and specifying its name as a system
property in appengine-web.xml.

This change also open-sources the production configuration values that
Google has chosen to use for these methods. TestRegistryConfig was
hitherto used for production configuration in the open source world,
which is misleading and inappropriate, considering it tunes values such
as the number of commit log buckets to 1.

Another important benefit of this change is that it helps registry_tool
work out of the box in the open source world.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=129022675
2016-08-02 19:17:19 -04:00
Justine Tunney e3bb5dc9b0 Fix up license headers and Python linting
This will help [] be submitted without breaking the linter.
License headers are now added automatically where they were previously
added by hand. We're also now adding the license header to Soy and SQL
files.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=129017424
2016-08-02 19:16:42 -04:00
Justine Tunney cf849bc073 Fix XmlTestUtilsTest in open source build
The ExpectedException @Rule does not appear to be be able to catch
AssertionError in the version of JUnit we're tracking in the open source
world. This caused the expected exceptions to get passed through and
treated as failures.

The solution is to just use our forked version of ExpectedException,
which is ExceptionRule.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=128988393
2016-08-02 19:14:57 -04:00
Justine Tunney 2ffc3d539b Fix open source schema.txt
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=128984036
2016-08-02 19:14:49 -04:00
Justine Tunney 7f3f03ee97 MOE strip compatible_with
This is an internal-only feature that breaks the open source build.

CL created with:

    dr-replace '(compatible_with.*)' '\1  # MOE:strip_line'

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=128852873
2016-08-02 19:14:28 -04:00
Justine Tunney e1dc6d5adb Upgrade Closure Rules to v0.2.5
This CL fixes an issue preventing App Engine deploys in the open source
world, because an old version of Soy had its Maven jars compiled for Java
1.8. Upgrading to the latest Closure Rules release fixes this.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=128841077
2016-08-02 19:14:13 -04:00
Justine Tunney e82a40a2fb Add WHOIS disclaimer text to ConfigModule
This fixes #23 for @parsoj by allowing a custom disclaimer to be
specified via dependency injection modules.

By making the disclaimer part of the dependency injection graph, it can
come from anywhere.

For example, if I was Donuts, I would have my own repository. I'd use an
external http_archive() repository for Domain Registry. Then I would
write my own Dagger @Component for each App Engine module. My Component
would have a list of Dagger Modules, which I copied from the Domain
Registry version. Then I would swap out ConfigModule with my own
DonutsConfigModule, which provides the same values.

So long as a method exists that @Provides @Config("whoisRegistry"), and
the module containing it is listed in the @Component, the dependency
injection graph becomes valid and complete for the whois package
(provided other dependencies are met.)

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=128082921
2016-07-21 14:55:38 -04:00
jartandBen McIlwain 2714e07f06 Follow 80 column rule in docs Markdown
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=127570507
2016-07-19 10:36:41 -04:00
jartandBen McIlwain 7b9752c99d Forward declare namespaces only in JSDoc
Forward declares symbol. This is an indication to the compiler that the
symbol may be used in the source yet is not required and may not be
provided in compilation.

The most common usage of forward declaration is code that takes a type
as a function parameter but does not need to require it. By forward
declaring instead of requiring, no hard dependency is made, and (if not
required elsewhere) the namespace may never be required and thus, not be
pulled into the JavaScript binary. If it is required elsewhere, it will
be type checked as normal.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=127095620
2016-07-13 15:57:11 -04:00
jartandBen McIlwain 5ebfb87651 Update Domain Registry to Closure Rules v0.2.3
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=126911095
2016-07-13 15:44:35 -04:00
jartandBen McIlwain 32e8e8fdb0 Use Local Modifications section in README.google
This is for third party compliance
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=126743127
2016-07-13 15:29:01 -04:00
jartandBen McIlwain 7f5c21f5ab Rename LICENSE.txt to LICENSE
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=126739467
2016-07-13 15:26:51 -04:00
jartandBen McIlwain 9fcb8984ad Update broken Closure Rules load() reference
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=126730245
2016-07-13 15:20:06 -04:00
jartandBen McIlwain e009d85855 Fix soy open source build error
All [] paths relating to soy are encompassed by @io_bazel_rules_closure[]
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=125498324
2016-06-27 16:33:28 -04:00
Justine Tunney 45747fd792 Make open source build pass
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=124868265
2016-06-14 16:33:56 -04:00
Justine Tunney c70d167a99 Remove getOnlyElement()
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=124846747
2016-06-14 16:31:15 -04:00
Justine Tunney 6f4b059cc9 Make javadoc <p> style guide compliant
This led to confusion for an open source contributor about how to format
code. We don't want to be like, "do as I say, not as I do."

https://google.github.io/styleguide/javaguide.html#s7.1.2-javadoc-paragraphs
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=122589700
2016-05-18 13:09:01 -04:00
Justine Tunney 767c00c2ca Fix FOSS Registrar Console in raw mode
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=122544685
2016-05-17 14:45:06 -04:00
Justine Tunney e1cf51ebb3 Migrate Domain Registry to Closure Rules 0.1.0
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=122525197
2016-05-17 13:53:41 -04:00
Justine Tunney 1abd2a6314 Fix paths in a few places 2016-05-17 13:52:27 -04:00
Justine Tunney be19daea01 Add schema.txt back to open source drop
The Bazel environment is now TIP TOP.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=122475766
2016-05-16 20:16:28 -04:00
Justine Tunney 13f5106070 Make dnsupdate go back to using dnsjava 2.x
Currently the build breaks due to a surprise migration to dnsjava 1.6.4,
which is not available in Maven. dnsjava 2.x is available internally,
but it jarjar's the package name. So we'll need to deal with that the
same way we deal with the Objectify package rename.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=122447929
2016-05-16 18:40:31 -04:00
Justine Tunney fe9e69e06b Integrate: Eclipse file generation script 2016-05-16 18:39:45 -04:00
Justine Tunney 1a0c282cf8 Bring open source build closer to passing 2016-05-14 01:29:22 -04:00
Justine Tunney 1e0f064da6 Add tools/server/javascrap to open source build 2016-05-14 01:24:55 -04:00
jart b672643194 Remove patharg classes
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=121238717
2016-05-13 23:16:29 -04:00
jart 6082146d55 Prefer re2 over java.util.regex
Java's stock regex implementation doesn't guarantee linear time
complexity which makes it a security liability.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=121159875
2016-05-13 23:16:07 -04:00
Justine Tunney 5012893c1d mv com/google/domain/registry google/registry
This change renames directories in preparation for the great package
rename. The repository is now in a broken state because the code
itself hasn't been updated. However this should ensure that git
correctly preserves history for each file.
2016-05-13 18:55:08 -04:00
jart 36ab6c15fe Add Braintree prod merchant ID
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=120400330
2016-05-13 17:41:13 -04:00
jart 9c8e23ea57 Really enable payment page in sandbox
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=120372049
2016-05-13 17:41:03 -04:00
jart dcbabd06a6 Sync registrar to Braintree customer record automatically
In order to set the customerId field on a payment, the customer entry
must exist in Braintree's database. This CL causes it to be created or
updated before processing the payment.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=118530040
2016-05-13 17:38:00 -04:00
jart b3125ae070 Move getTldFromDomainName into DomainNameUtils
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=118475557
2016-05-13 17:37:32 -04:00
jart 4442f4c31b Improve documentation of TLD extraction routines
Some confusion came up in #9 over the proper way to extract TLDs from
hostnames. This should hopefully alleviate that.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=118417091
2016-05-13 17:37:24 -04:00
Justine Tunney 076c8d7e27 Update copyright notice to Domain Registry Authors 2016-03-24 17:52:56 -04:00
jart d61d295386 Add AUTHORS file to open source release
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=117986764
2016-03-23 22:38:08 -04:00
jart 89fa3caaba Add payment page link to Registrar Console
The payment page has also been updated to refuse to show itself if
the registrar is not set to credit card billing terms.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=117983313
2016-03-23 22:38:08 -04:00
jart b6b13333dd Pay off technical debt with ConsoleUiServlet
1. Turn ConsoleUiServlet into an action
2. Remove AbstractUiServlet, which fixes its threading bug
3. Use type-safe soy template parameters when rendering console

A follow-up change will add a new template parameter that renders the
payment page link on the navigation bar.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=117969638
2016-03-23 22:38:08 -04:00
jart 46e02c6bd1 Use rel="noopener" when appropriate
We're not vulnerable. But it's a good security practice.

https://mathiasbynens.github.io/rel-noopener/
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=117240907
2016-03-16 21:20:25 -04:00
jart 5d97f04ebe Automated g4 rollback of changelist 116996539.
*** Reason for rollback ***

Rollback --checks-only change

This isn't available in the open source release.

*** Original change description ***

Change --checks-only flag to --checks_only for consistency with other flags.

Tested:
    TAP --sample for global presubmit queue
    []
***
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=117000962
2016-03-16 21:20:25 -04:00
jartandBen McIlwain f2116093b1 Delete admin console
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=116894352
2016-03-10 16:48:39 -05:00
jartandBen McIlwain 6772b2ef80 Move VerifyOteAction to tools/server
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=116825910
2016-03-10 16:48:39 -05:00
jartandBen McIlwain 3eef39126d Add Registrar client ID to Braintree payment info
The client ID is passed as the "customer ID" to Braintree. In order for
this to work, someone needs to go into the Braintree website beforehand,
click on "New Customer" link, and create the customer record with a
matching ID.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=116769955
2016-03-10 16:48:39 -05:00
jartandBen McIlwain d6815fb55a Fix copyright header on repositories.bzl
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=116688902
2016-03-10 16:48:39 -05:00
jart 5b80d74988 Make external dependencies importable
This will make it easier for Donuts to do loose coupling of
repositories. Without this change, they would have to copy everything
from our WORKSPACE file by hand.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=116674743
2016-03-08 14:18:03 -05:00
jart a063508b5b Make bazel build fully hermetic
We no longer reference @bazel_tools//third_party. All of our transitive
dependencies are now specified explicitly in our WORKSPACE file.

I also fixed the way that jar dependencies are exported, so we don't
break strict dependency checking.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=116421176
2016-03-04 21:13:06 -05:00
jart 675ec8f086 Remove repeated maven_jar()
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=116210057
2016-03-04 16:22:05 -05:00
jart ddd45b22fb Give core registry libraries public visibility
This is so Donuts can create entirely separate Bazel repositories that
link against the Domain Registry codebase.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=116182448
2016-03-04 16:20:50 -05:00
Justine Tunney 689c673a7c Add a 1-hour expiration to all Objectify memcache uses
This protects us from the edge case of potentially stale
memcache data due to a DeadlineExceededExeption, or possibly
from MemcacheServiceException. If memcache gets stale and
misses a write that went to Datastore, it will catch up in
at most one hour.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=116174023
2016-03-04 16:19:40 -05:00
jart 6c6f70c24f Remove google_java_format dependency
This dependency is only needed by the internal version of Dagger, which
hasn't been rolled out to the public yet.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=116097182
2016-03-04 16:13:57 -05:00
Justine Tunney 0ef0c933d2 Import code from internal repository to git 2016-03-01 17:59:16 -05:00